Hi,*

*I'm still working this to replace the currently outdated Wiki-page
(https://code.google.com/p/ganeti/wiki/PerformanceTuning).
But here the Performancetweaks which I have already looked hat /
gathered experience with.

If you have some more ideas, please share them with me so I can test
them and add it.

Greetings,
Neal


================
*
CPU optimizations:*

_Host__CPU
_Passes the Host CPU through to the VM which means the VM can use all
features the host CPU has(like aes-ni).
Note: This should only be done if your Cluster / Node Group has the same
CPU (or see CPU-Host hacks)

    gnt-cluster modify -H kvm:cpu_type=host      # entire Cluster
    gnt-node modify -H kvm:cpu_type=host [group] # for a nodegroup
    (waiting for https://code.google.com/p/ganeti/issues/detail?id=895)
    gnt-instance modify -H cpu_type=host [vm]    # for single VMs


_
__NUMA_
// TODO



*Memory optimizations:*
_
KSM_
Kernel Samepage Merging deduplicates Memory Pages of VMs, this way you
can save quite a lot of memory because
if you are running for e.g. 5x a debian stable you will have the same
core running and its memory will be the same.
"Some tests from Red Hat have shown, that 52 virtual machines with
Windows XP and 1 GB RAM can be operated on one server with only 16 GB RAM."

    echo 1 > /sys/kernel/mm/ksm/run
    echo 100 > /sys/kernel/mm/ksm/sleep_millisecs
    # status
    grep "" /sys/kernel/mm/ksm/*
    > /sys/kernel/mm/ksm/full_scans:203
    > /sys/kernel/mm/ksm/pages_shared:769324
    > /sys/kernel/mm/ksm/pages_sharing:1510361
    > /sys/kernel/mm/ksm/pages_to_scan:100
    > /sys/kernel/mm/ksm/pages_unshared:4712835
    > /sys/kernel/mm/ksm/pages_volatile:602177
    > /sys/kernel/mm/ksm/run:1
    > /sys/kernel/mm/ksm/sleep_millisecs:20


_
__SWAP in VMs_
// TODO


_EPT
_//TODO



*IO optimizations:*
_
Scheduler_
http://www.thomas-krenn.com/de/wiki/Linux_I/O_Scheduler
Host: deadline
VMs: noop (fifo)

deadline config(on host)
// TODO


_DRBD Protocol:_
- A: pnode has written (dangerous!)
- B: pnode has written, snode has recived (dangerous)
- C: p-/snode have written (safe)


_DRBD latency:_
// TODO: http://www.drbd.org/users-guide/s-latency-tuning.html


_disk_cache:_(kvm only?)
- writeback: report done as soon as it has been cached (dangerous! If
node goes down before writing)
- writethrough: acknowledge first after the write has happened
- none: direkt


_RAID:_(fast to slow)
- only DRBD for redundancy
  - RAID 0 (warning! If one drive fails you will have to evacuate the
entire node)
  - JBOD (only VMs with there drives on the HDD will have to be evacuated)
- with local RAID
  - RAID 1 / RAID 10
  - RAID5 / RAID6 (with software raid writing killes)



*Network optimizations:*
_mtu_
increase the mtu of 1500 if more than one 1Git/s interface is in use
(bonding) or you have 10GBit/s and more






Reply via email to