18 окт. 2010 г.

Количество процессоров и производительность ВМ.

Протестировал производительность apache с помощью ab, на виртуальной машине (virtualbox 3.2) с гостевой системой Ubuntu (10.10, потом повторил на 9.10). Хостовая система та жа ubuntu, с Intel Pentium Dual-Core G6950 на "борту" с двумя ядрами. Все доступные VT технологии используются. Выяснилась интересная вещь: максимальная производительность ВМ достигается при выделении ей только одного виртуального процессора. Замер выполнялся командой:

$ab -n 10000 http://localhost/

Результаты замера на хосте:
Time taken for tests: 3.783 seconds
Requests per second: 2643.13 [#/sec] (mean)
Time per request: 0.378 [ms] (mean)
Transfer rate: 1171.85 [Kbytes/sec] received

Результаты замера virtualbox с 1CPU:
Time taken for tests: 3.029 seconds
Requests per second: 3301.57 [#/sec] (mean)
Time per request: 0.303 [ms] (mean)
Transfer rate: 1460.56 [Kbytes/sec] received

Результаты замера virtualbox с 2CPU:
Time taken for tests: 26.986 seconds
Requests per second: 370.57 [#/sec] (mean)
Time per request: 2.699 [ms] (mean)
Transfer rate: 163.93 [Kbytes/sec] received

Разница как видно очевидна. В случае для ВМ с 2 процессорами падение производительности почти в 10 раз. Причем загрузка физического процессора в обоих случаях практически была одинаковой (~50%), а вот количество переключений контекста во 2 случае возрастает в 2-3 раза во время теста (при простое примерно одинаково). Сравнил с KVM, на том же компе.

Результаты замера KVM с 2CPU:
Time taken for tests: 5.967 seconds
Requests per second: 1675.98 [#/sec] (mean)
Time per request: 0.597 [ms] (mean)
Transfer rate: 741.42 [Kbytes/sec] received

Результаты замера KVM с 1CPU:
Time taken for tests: 2.233 seconds
Requests per second: 4478.66 [#/sec] (mean)
Time per request: 0.223 [ms] (mean)
Transfer rate: 1981.28 [Kbytes/sec] received

На kvm картина не такая печальная. Производительность падает не более, чем в 3 раза.
На работе попробовал на сервере ibm x3400 2 xenon E5502 с centos 5, xen - наблюдалась картина абсолютно противоположная, т.е. с увеличением числа CPU в ВМ производительность возрастала (к сожалению не могу протестить на нем другие гипервизоры).

Комментариев нет:

Архив блога