Как мы тестируем серверы
Периодически в мою хабраленту попадают материалы о сравнительном тестировании разнообразных серверов, по прочтении которых возникает вопрос: "и что?". Что померили, в смысле, и как. Глядишь вот так, на результаты, полученные какой-нибудь SiSandra или PassMark и думаешь: а насколько эти тесты вообще имеют отношение к реальности? Или вот, скажем, мерили производительность дискового массива, а результаты получили для оперативной памяти...
Таким образом и родилась мысль, что неплохо бы подобрать среду для тестирования такую, которая предоставит результаты не в виде сферовакуумных попугаев, а в чем-то менее абстрактном.
В общем-то, простейшие тесты производительности можно произвести так: запустить ресурсоемкую задачу и замерить время выполнения. Например, скомпилировать что-нибудь:
Попутно можно снимать данные о нагруженности системы, температуру с датчиков... А еще неплохо бы поделиться результатами с общественностью, да так, чтобы любой мог повторить тот же самый бенчмарк на своем железе и наглядно сравнить. Да и централизованная система по раздаче тестов явно не помешает, чтобы не бегать по ssh или rdp по куче серверов.
Как нельзя лучше под задачу подходит Phoronix Test Suite : бенчмарк-среда с открытыми исходным кодом и возможностью выкладывать и обмениваться результатами в Сети через тот же openbenchmarking.org, предоставляющий уйму тестов для тех или иных компонентов, либо всей системы в целом.
Устанавливаем:
Настраиваем тестирование без лишних запросов с выкладыванием результатов на openbenchmarking.org:
Монтируем дисковый массив, на котором будет проводиться бенчмаркинг:
Подготавливаем нужные нам тесты:
В принципе, можно запустить все одним пакетом, но такое тестирование займет достаточно длительное время:
У phoronix есть вот такой веб интерфейс:
Запуcкается он так:
Но лично мне он не понравился: как-то не слишком отзывчиво работает.
Также имеется бенчмарк-сервер Phoromatic, позволяющий запускать тестирование сразу на нескольких системах, собирая с них данные. Запускаем:
Как видно, веб-интерфейс Phoromatic'a доступен по адресу http://localhost:8961 . Следуя рекомендации сервера, выполняем на тестируемых машинах:
Далее, можно сформировать профиль тестирования, укомплектовав нужными тестами:
Что меня очень порадовало в Phoronix'e, так это как он представляет результаты: их экспортировать в csv для дальнейшей обработки, в pdf, либо автоматически выложить на сайт openbenchmarking.org. Если опция отправки результатов включена, то по окончании теста, phoronix предоставит ссылку:
Не стоит забывать про синхронизацию времени: если сильно расходится, будут проблемы при сборке и выкачивании некоторых архивов.
Итак, провели некторое количество тестов, результаты автоматически отправляются на openbenchmarking.org.
Например, Apache Benchmark, демонстрирующий, сколько запросов в секунду потянет система: http://openbenchmarking.org/result/1601111-HA-1512285HA26
Так, здесь можно не только полюбоваться графиками и скачать отчет в нужном формате, но и добавить к сравнению результаты, проводимые другими пользователями:
А затем наглядно сравнить плюсы и минусы конфигураций:
Так, можно оценить производительность процессоров для кодировании видео и, скажем, подобрать себе конфигурацию под видеохостинг.
Или поглядеть табличку результатов систем других пользователей, проводивших данный тест:
Производительность оперативной памяти? Не проблема:
В общем, Phoronix Test Suite -- это мощная и удобная система для оценки производительности, на голову превосходящая всевозможные десктопные тестилки, в том числе и коммерческие.
Таким образом и родилась мысль, что неплохо бы подобрать среду для тестирования такую, которая предоставит результаты не в виде сферовакуумных попугаев, а в чем-то менее абстрактном.
В общем-то, простейшие тесты производительности можно произвести так: запустить ресурсоемкую задачу и замерить время выполнения. Например, скомпилировать что-нибудь:
time make -j$(echo "$(grep processor /proc/cpuinfo|wc -l)*2"|bc)
Попутно можно снимать данные о нагруженности системы, температуру с датчиков... А еще неплохо бы поделиться результатами с общественностью, да так, чтобы любой мог повторить тот же самый бенчмарк на своем железе и наглядно сравнить. Да и централизованная система по раздаче тестов явно не помешает, чтобы не бегать по ssh или rdp по куче серверов.
Как нельзя лучше под задачу подходит Phoronix Test Suite : бенчмарк-среда с открытыми исходным кодом и возможностью выкладывать и обмениваться результатами в Сети через тот же openbenchmarking.org, предоставляющий уйму тестов для тех или иных компонентов, либо всей системы в целом.
Устанавливаем:
$wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_6.0.1_all.deb $sudo dpkg -i phoronix-test-suite_6.0.1_all.deb $sudo apt-get -f install
Настраиваем тестирование без лишних запросов с выкладыванием результатов на openbenchmarking.org:
$phoronix-test-suite batch-setup These are the default configuration options for when running the Phoronix Test Suite in a batch mode (i.e. running phoronix-test-suite ba tch-benchmark universe). Running in a batch mode is designed to be as autonomous as possible, except for where you'd like any end-user interaction. Save test results when in batch mode (Y/n): y Open the web browser automatically when in batch mode (y/N): n Auto upload the results to OpenBenchmarking.org (Y/n): y Prompt for test identifier (Y/n): Y Prompt for test description (Y/n): n Prompt for saved results file-name (Y/n): n Run all test options (Y/n): y Batch settings saved.
Монтируем дисковый массив, на котором будет проводиться бенчмаркинг:
#mkfs.ext4 /dev/sda #mount /dev/sda /var/lib/phoronix-test-suite/installed-tests
Подготавливаем нужные нам тесты:
#phoronix-test-suite install-dependencies fio blogbench ramspeed compress-7zip ffmpeg scimark2 nginx apache pgbench build-linux-kernel
В принципе, можно запустить все одним пакетом, но такое тестирование займет достаточно длительное время:
echo 'ProLiant DL360p Gen8'| phoronix-test-suite batch-benchmark fio blogbench ramspeed compress-7zip ffmpeg scimark2 nginx apache pgbench build-linux-kernel
Веб-интерфейс
У phoronix есть вот такой веб интерфейс:
Запуcкается он так:
$phoronix-test-suite gui o start server run new script: /tmp/tmp.OkRpZQCQTj/web-server-launcher PHP 5.6.16-2 Development Server started at Thu Dec 24 11:13:54 2015 Listening on http://localhost:2737 Document root is /usr/share/phoronix-test-suite/pts-core/web-interface Press Ctrl-C to quit. WebSocket Server Active: localhost:2736 Launch: http://localhost:2737 Press [ENTER] to kill server...
Но лично мне он не понравился: как-то не слишком отзывчиво работает.
Также имеется бенчмарк-сервер Phoromatic, позволяющий запускать тестирование сразу на нескольких системах, собирая с них данные. Запускаем:
$phoronix-test-suite start-phoromatic-server Port 8961 chosen as random port for this instance. Change the default port via the Phoronix Test Suite user configuration file. Phoronix Test Suite v6.0.1 (Hammerfest) starting Phoromatic Server Phoronix Test Suite User-Data Directory Path: /home/c6/.phoronix-test-suite/ Phoronix Test Suite Configuration File: /home/c6/.phoronix-test-suite/user-config.xml Phoromatic Server Log File: /home/c6/.phoronix-test-suite/phoromatic.log WebSocket Server Active: localhost:8322 The Phoromatic Web Interface Is Accessible At: http://localhost:8961
Как видно, веб-интерфейс Phoromatic'a доступен по адресу http://localhost:8961 . Следуя рекомендации сервера, выполняем на тестируемых машинах:
$phoronix-test-suite phoromatic.connect 192.168.3.196:8961/MTHM9F phoronix-test-suite phoromatic.connect 192.168.3.196:8961/MTHM9F Phoronix Test Suite v6.0.1 Server IP: 192.168.3.196 Server HTTP Port: 8961 Account ID: MTHM9F
Далее, можно сформировать профиль тестирования, укомплектовав нужными тестами:
Обработка результатов
Что меня очень порадовало в Phoronix'e, так это как он представляет результаты: их экспортировать в csv для дальнейшей обработки, в pdf, либо автоматически выложить на сайт openbenchmarking.org. Если опция отправки результатов включена, то по окончании теста, phoronix предоставит ссылку:
Apache Benchmark 2.4.7: pts/apache-1.6.1 [Static Web Page Serving] Test 1 of 1 Estimated Trial Run Count: 3 Estimated Time To Completion: 9 Minutes (01:16 UTC) Running Pre-Test Script @ 01:07:34 Started Run 1 @ 01:07:39 Started Run 2 @ 01:08:26 Started Run 3 @ 01:09:15 [Std. Dev: 1.88%] Running Post-Test Script @ 01:10:02 Test Results: 21711.44 21062.92 21807.64 Average: 21527.33 Requests Per Second Results Uploaded To: http://openbenchmarking.org/result/1512249-D7S2-151224144
Не стоит забывать про синхронизацию времени: если сильно расходится, будут проблемы при сборке и выкачивании некоторых архивов.
Итак, провели некторое количество тестов, результаты автоматически отправляются на openbenchmarking.org.
Например, Apache Benchmark, демонстрирующий, сколько запросов в секунду потянет система: http://openbenchmarking.org/result/1601111-HA-1512285HA26
Так, здесь можно не только полюбоваться графиками и скачать отчет в нужном формате, но и добавить к сравнению результаты, проводимые другими пользователями:
А затем наглядно сравнить плюсы и минусы конфигураций:
Так, можно оценить производительность процессоров для кодировании видео и, скажем, подобрать себе конфигурацию под видеохостинг.
Или поглядеть табличку результатов систем других пользователей, проводивших данный тест:
Производительность оперативной памяти? Не проблема:
В общем, Phoronix Test Suite -- это мощная и удобная система для оценки производительности, на голову превосходящая всевозможные десктопные тестилки, в том числе и коммерческие.
29 августа 2024
HPE Apollo 4500 – масштабируемость серверной по доступной цене
12 марта 2024
HPE Synergy для бизнеса – объединяй и властвуй!
19 июня 2023
Серверные системы HPE Apollo
Специальные предложения
Ноутбук HP EliteBook 850 G8 15.6'' FHD/Core i5-1135G7 2.4GHz/16GB/256GB (358Q9EA)
Ноутбук HP EliteBook 850 G8 15.6'' FHD/Core i5-1135G7 2.4GHz/16GB/256GB (358Q9EA)
HP Proliant DL360 Gen10 8SFF 2xGold 6248R 3.0 GHz/1536Gb DDR4 2666MHz/E208i-a SR/331i/2 x500W
Сервер Hewlett-Packard (HP) Proliant DL360 Gen10 8SFF 2xXeon Gold 6248R 3.0 GHz 24-Core (LGA3647, 35,75 MB, 205W)/HPE 1536Gb (24x64Gb) DDR4 2666MHz/E208i-a SR/331i/2x500W
HP Proliant DL380 Gen10 12LFF 2xGold 6248R 3.0 GHz/1536Gb DDR4 2666MHz/E208i+Expander/331i/2x500W
Сервер Hewlett-Packard (HP) Proliant DL380 Gen10 12LFF 2xXeon Gold 6248R 3.0 GHz 24-Core (LGA3647, 35,75 MB, 205W)/HPE 1536Gb (24x64Gb) DDR4 2666MHz/E208i-a SR+ SAS Expander/331i/2x500W
HPE Apollo 4510 G9 1хXL450 Gen9: 2 xE5-2699v4/256GB/P244br/1GB/P440/361i/4x1400W 2х300GB/24х18TB
Сервер HPE Apollo 4510 Gen9: 1хHPE ProLiant XL450 Gen9 2xXeon E5-2699v4 22-core (2.2GHz, Broadwell, 56 МБ, 145W)/HPE 256GB (8x32GB) DDR4-2133/P244br/P440/2Gb/361i/4xHPE 1400W/2х300GB/12х18TB SATA
Как мы тестируем серверы
Оставьте свои контактные данные
и мы перезвоним вам в ближайшее время
Спасибо!
Наш специалист свяжется с Вами
в ближайшее время
в ближайшее время