В один из моментов развития компания появилась задача одновременного поднятия пяти различных серверов с различным набором приложений и различными ОС. Какие то сервера уже существовали до этого момента, какие то ставились с нуля в силу необходимости, факт оставался фактом, сервера - нужны, и причем сервера которые судя по всему в ближайшее время нагружены очень сильно по современным меркам не будут. Имеем два варианта выбора: купить 5 недорогих rack/tower серверов или купить один производительный сервер, установить на него гипервизор и поднять под ним сервера. Пришли к выводу что экономически целесообразнее второй вариант:
Формально можно накупить 5 персоналок в ближайшем магазине компьютерных запчастей, объявить их серверами, и это как будто дешевле, но как только встает вопрос стабильности работы и целостности данных хотя бы на двух серверах в этой группе, ценовой вопрос этих персоналок с нужным функционалом уже не кажеться в этом случае таким радужным.
Для нашей страны вопрос стоимости электроэнергии обычно не является решающим, и люди не считают относительно дешевые ватты энергии которые расходует оборудование, но ровно до тех пор пока сервера не начинают работать от обесточенного UPS, кого дольше продержит ИБП думаем вопрос бесспорный, а в вопросах восстановления внешнего энергоснабжения UPS счет очень часто идет на минуты.
Все продукты тестировались как есть, без тюнинга систем и сборки узкозаточенных ядер. Задача стояла в том, чтобы выяснить какой продукт для нас предпочтительнее использовать, тонкие настройки и прочее будут позже. Мы не агитируем за использование того или иного решения, но настаиваем, чтобы когда вы делали свой выбор, вы прошли эти шаги сами и со своими условиями. Тесты не особо трудозатратные, требуют только определенного запаса во времени. Все продукты, в том числе и гипервизоры АБСОЛЮТНО БЕСПЛАТНЫ как для тестирования, так и для использования.
Окружение
Сервер: 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
Каждой гостевой системе выделялось: 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 "из коробки и бесплатно", правда для этого придется поднимать контроллер домена если у вас его нету.