Запросить обратный звонок

Получить консультацию эксперта

Представьтесь:
Телефон:
В чём ваш вопрос?:

Вход в личный кабинет

Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:

Большой выбор серверов Комплектующие для серверов и СХД Комплексные решения под Ваши задачи HPE Synergy

Как мы тестируем серверы

Периодически в мою хабраленту попадают материалы о сравнительном тестировании разнообразных серверов, по прочтении которых возникает вопрос: "и что?". Что померили, в смысле, и как. Глядишь вот так, на результаты, полученные какой-нибудь SiSandra или PassMark и думаешь: а насколько эти тесты вообще имеют отношение к реальности? Или вот, скажем, мерили производительность дискового массива, а результаты получили для оперативной памяти...

Таким образом и родилась мысль, что неплохо бы подобрать среду для тестирования такую, которая предоставит результаты не в виде сферовакуумных попугаев, а в чем-то менее абстрактном.

В общем-то, простейшие тесты производительности можно произвести так: запустить ресурсоемкую задачу и замерить время выполнения. Например, скомпилировать что-нибудь:

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 -- это мощная и удобная система для оценки производительности, на голову превосходящая всевозможные десктопные тестилки, в том числе и коммерческие.