Статьи
 Задача
  В один из моментов развития компания появилась задача одновременного поднятия пяти различных серверов с различным набором приложений и различными ОС. Какие то сервера уже существовали до этого момента, какие то ставились с нуля в силу необходимости, факт оставался фактом, сервера - нужны, и причем сервера которые  судя по всему в ближайшее время нагружены очень сильно по современным меркам не будут. Имеем два варианта выбора: купить 5 недорогих rack/tower серверов или купить один производительный сервер, установить на него гипервизор и поднять под ним сервера. Пришли к выводу что экономически целесообразнее второй вариант:
  • Формально можно накупить 5 персоналок в ближайшем магазине компьютерных запчастей, объявить их серверами, и это как будто дешевле, но как только встает вопрос стабильности работы и целостности данных хотя бы на двух серверах в этой группе, ценовой вопрос этих персоналок с нужным функционалом уже не кажеться в этом случае таким радужным.  
  • Для нашей страны вопрос стоимости электроэнергии обычно не является решающим, и люди не считают относительно дешевые ватты энергии которые расходует оборудование, но ровно до тех пор пока сервера не начинают работать от обесточенного UPS, кого дольше продержит ИБП думаем вопрос бесспорный, а в вопросах восстановления внешнего энергоснабжения UPS счет очень часто идет на минуты.
Теперь решаем задачу какой гипервизор использовать. Для этого взяли три известных продукта: Citrix XenServer 6.0, VMware ESXi 5.0, Hyper-V Server 2008 R2 и протестировали их с помощью трех ОС:
Все продукты тестировались как есть, без тюнинга систем и сборки узкозаточенных ядер. Задача стояла в том, чтобы выяснить какой продукт для нас предпочтительнее использовать, тонкие настройки и прочее будут позже. Мы не агитируем за использование того или иного решения, но настаиваем, чтобы когда вы делали свой выбор, вы прошли эти шаги сами и со своими условиями. Тесты не особо трудозатратные, требуют только определенного запаса во времени. Все продукты, в том числе и гипервизоры АБСОЛЮТНО БЕСПЛАТНЫ как для тестирования, так и для использования.

Окружение
  • Сервер: DL160
  • Гипервизоры:Citrix XenServer 6.0, VMware ESXi 5.0, Hyper-V Server 2008 R2
  • ОС: Linux Fedora 15, FreeBSD 8.2 i386, FreeBSD 8.2 amd64
  • Тестовая программа: UnixBench 5
  • Каждой гостевой системе выделялось: 2 процессорных ядра, 1 ГБ оперативной памяти, 100 ГБ дискового пространства


FreeBSD 8.2 amd64
Тест Citrix XenServer 6.0 VMware ESXi 5.0 Hyper-V Server 2008 R2
Dhrystone 2 using register variables (lps) 27826818.0 14233956.1 -
Double-Precision Whetstone (MWIPS) 5617.5 2847.2 -
Execl Throughput (lps) 1584.9 2354.8 -
File Copy 1024 bufsize 2000 maxblocks (KBps) 28934.5 45394.0 -
File Copy 256 bufsize 500 maxblocks (KBps) 12289.4 29638.9 -
File Copy 4096 bufsize 8000 maxblocks (KBps) 38708.0 89137.2 -
Pipe Throughput (lps) 2831366.1 1380266.4 -
Pipe-based Context Switching (lps) 339534.3 258037.7 -
Process Creation (lps) 3275.5 6673.1 -
Shell Scripts (1 concurrent) (lpm) 4616.8 443.3 -
Shell Scripts (8 concurrent) (lpm) 551.3 67.5 -
System Call Overhead (lps) 1922530.4 1165278.1 -
System Benchmarks Index Values
  BASELINE RESULT INDEX RESULT INDEX RESULT INDEX
Dhrystone 2 using register variables 116700.0  27826818.0   2384.5   14233956.1   1219.7  - -
Double-Precision Whetstone 55.0  5617.5   1021.4   2847.2   517.7  - -
Execl Throughput 43.0  1584.9   368.6   2354.8   547.6  - -
File Copy 1024 bufsize 2000 maxblocks 3960.0  28934.5   73.1   45394.0   114.6  - -
File Copy 256 bufsize 500 maxblocks 1655.0  12289.4   74.3   29638.9   179.1  - -
File Copy 4096 bufsize 8000 maxblocks 5800.0  38708.0   66.7   89137.2   153.7  - -
Pipe Throughput 12440.0  2831366.1   2276.0   1380266.4   1109.5  - -
Pipe-based Context Switching 4000.0  339534.3   848.8   258037.7   645.1  - -
Process Creation 126.0  3275.5   260.0   6673.1   529.6  - -
Shell Scripts (1 concurrent) 42.4  4616.8   1088.9   443.3   104.6  - -
Shell Scripts (8 concurrent) 6.0  551.3   918.8   67.5   112.5  - -
System Call Overhead 15000.0  1922530.4   1281.7   1165278.1   776.9  - -
Score 493.6 353.3 -


FreeBSD 8.2 i386
Тест Citrix XenServer 6.0 VMware ESXi 5.0 Hyper-V Server 2008 R2
Dhrystone 2 using register variables (lps) 9615658.3 9850225.0 9477838.2
Double-Precision Whetstone (MWIPS) 1878.9 1947.7 1862.1
Execl Throughput (lps) 1920.0 2082.3 2622.9
File Copy 1024 bufsize 2000 maxblocks (KBps) 134859.8 64569.5 33493.0
File Copy 256 bufsize 500 maxblocks (KBps) 76466.6 44704.9 40473.1
File Copy 4096 bufsize 8000 maxblocks (KBps) 48098.7 93736.8 36371.4
Pipe Throughput (lps) 956045.5 988610.6 991008.8
Pipe-based Context Switching (lps) 259850.3 266016.2 293947.2
Process Creation (lps) 5080.5 5893.8 9933.6
Shell Scripts (1 concurrent) (lpm) 4748.6 444.7 1753.5
Shell Scripts (8 concurrent) (lpm) 1040.9 54.2 253.8
System Call Overhead (lps) 556110.9 576492.0 585685.0
System Benchmarks Index Values
  BASELINE RESULT INDEX RESULT INDEX RESULT INDEX
Dhrystone 2 using register variables 116700.0  9615658.3   824.0   9850225.0   844.1   9477838.2   812.2 
Double-Precision Whetstone 55.0  1878.9   341.6   1947.7   354.1   1862.1   338.6 
Execl Throughput 43.0  1920.0   446.5   2082.3   484.2   2622.9   610.0 
File Copy 1024 bufsize 2000 maxblocks 3960.0  134859.8   340.6   64569.5   163.1   33493.0   84.6 
File Copy 256 bufsize 500 maxblocks 1655.0  76466.6   462.0   44704.9   270.1   40473.1   244.6 
File Copy 4096 bufsize 8000 maxblocks 5800.0  48098.7   82.9   93736.8   161.6   36371.4   62.7 
Pipe Throughput 12440.0  956045.5   768.5   988610.6   794.7   991008.8   796.6 
Pipe-based Context Switching 4000.0  259850.3   649.6   266016.2   665.0   293947.2   734.9 
Process Creation 126.0  5080.5   403.2   5893.8   467.8   9933.6   788.4 
Shell Scripts (1 concurrent) 42.4  4748.6   1120.0   444.7   104.9   1753.5   413.6 
Shell Scripts (8 concurrent) 6.0  1040.9   1734.8   54.2   90.3   253.8   423.0 
System Call Overhead 15000.0  556110.9   370.7   576492.0   384.3   585685.0   390.5 
Score 498.9 314.2 371.3


Linux Fedora 15
Тест Citrix XenServer 6.0 VMware ESXi 5.0 Hyper-V Server 2008 R2
Dhrystone 2 using register variables (lps) 14113056.3 14501636.6 13296297.1
Double-Precision Whetstone (MWIPS) 2360.1 2357.6 2206.6
Execl Throughput (lps) 1213.1 2002.6 805.5
File Copy 1024 bufsize 2000 maxblocks (KBps) 325306.0 321239.2 319335.1
File Copy 256 bufsize 500 maxblocks (KBps) 83834.4 85595.2 77606.0
File Copy 4096 bufsize 8000 maxblocks (KBps) 883735.8 1006921.4 841943.4
Pipe Throughput (lps) 521378.9 600665.9 542979.3
Pipe-based Context Switching (lps) 115997.2 126159.0 121250.5
Process Creation (lps) 3482.2 4862.6 3689.8
Shell Scripts (1 concurrent) (lpm) 2662.8 2723.8 1902.8
Shell Scripts (8 concurrent) (lpm) 770.2 773.0 708.5
System Call Overhead (lps) 607433.6 1380867.3 1255297.5
System Benchmarks Index Values
  BASELINE RESULT INDEX RESULT INDEX RESULT INDEX
Dhrystone 2 using register variables 116700.0  14113056.3   1209.3   14501636.6  1242.6    13296297.1   1139.4 
Double-Precision Whetstone 55.0  2360.1   429.1   2357.6   428.7   2206.6   401.2 
Execl Throughput 43.0  1213.1   282.1   2002.6   465.7   805.5   187.3 
File Copy 1024 bufsize 2000 maxblocks 3960.0  325306.0   821.5   321239.2   811.2   319335.1   806.4 
File Copy 256 bufsize 500 maxblocks 1655.0  83834.4   506.6   85595.2   517.2   77606.0   468.9 
File Copy 4096 bufsize 8000 maxblocks 5800.0  883735.8   1523.7   1006921.4   1736.1   841943.4   1451.6 
Pipe Throughput 12440.0  521378.9   419.1   600665.9   482.9   542979.3   436.5 
Pipe-based Context Switching 4000.0  115997.2   290.0   126159.0   315.4   121250.5   303.1 
Process Creation 126.0  3482.2   276.4   4862.6   385.9   3689.8   292.8 
Shell Scripts (1 concurrent) 42.4  2662.8   628.0   2723.8   642.4   1902.8   448.8 
Shell Scripts (8 concurrent) 6.0  770.2   1283.6   773.0   1288.3   708.5   1180.8 
System Call Overhead 15000.0  607433.6   405.0   1380867.3   920.6   1255297.5   836.9 
Score 563.2 669.4 552.4
Выводы:
Выводы для себя каждый сделает сам в зависимости от задачи, конкретно нам были интересны тесты в большей степени Dhrystone/Whetstone и скорости межпроцессного сообщения, свой выбор мы сделали. Подробнее о том что из себя представляет каждый тест описано тут: byte-unixbench и CSA. Из явных плюсов сразу бросающихся в глаза хотелось бы отметить: Citrix XEN - очень простая и удобная работа с NFS хранилищами, ESXi - удобный и информативный интерфейс управления и мониторинга, и огромный плюс Hyper-V - failover "из коробки и бесплатно", правда для этого придется поднимать контроллер домена если у вас его нету.
footer