Нагрузочное тестирование в Linux


Установка ПО

Наиболее подходящим ПО для нагрузочного тестирования системы, работающей под Linux, представляется проект “Phoronix test suite” (http://www.phoronix-test-suite.com). Пример установки (для ArchLinux):

[orca@blizzard ~]$ sudo pacman -S phoronix-test-suite   <1>
[orca@blizzard ~]$ sudo vi /etc/php/php.ini             <2>
...
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/
extension=zip.so
[orca@blizzard ~]$ phoronix-test-suite list-tests       <3>
  1. Установка “Phoronix test suite”
  2. Обязательная правка файла /etc/php/php.ini. Директиву “open_basedir” на этот момент необходимо изменить, добавив в список директорий корневую файловую систему (/)
  3. Вывод списка доступных тестов (проверка установки “Phoronix test suite”)

Если необходимо уточнить информацию по выбранному тесту, то можно воспользоваться командой info, например:

[orca@blizzard ~]$ phoronix-test-suite info compress-7zip
Замечание Для работы некоторых тестов директиву “open_basedir” в файле /etc/php/php.ini нужно отключить.

Также рекомендуется, если это не было сделано ранее, установить компилятор gcc. Более того, в момент загрузки многих тестов может потребоваться наличие того или иного ПО из состава дистрибутива ОС.


Простое тестирование

Перед запуском выбранного теста, его необходимо загрузить (установить), например:

[orca@blizzard ~]$ phoronix-test-suite install compress-7zip

Запустить выбранный тест:

[orca@blizzard ~]$ phoronix-test-suite run compress-7zip

Ответить на вопросы, например:

Would you like to save these test results (Y/n): y
Enter a name to save these results under: compress-7zip-result
Enter a unique name to describe this test run / configuration: compress-7zip-log

По окончанию тестирования результаты будут доступны в виде файла веб-страницы ~/.phoronix-test-suite/test-results/compress-7zip-result/index.html.


Комплексное тестирование

Для более серьёзного комплексного тестирования используются комплекты (test suites) c сайта проекта “OpenBenchmarking” (http://openbenchmarking.org).

Опросить сайт на предмет доступных комплектов тестирования:

[orca@blizzard ~]$ phoronix-test-suite list-available-suites

Выбрать подходящие комплекты и загрузить их (для загрузки может потребоваться довольно длительное время).

Например (выбраны pts/disk, pts/memory, pts/cpu):

[orca@blizzard ~]$ phoronix-test-suite install pts/compilation
[orca@blizzard ~]$ phoronix-test-suite install pts/memory
[orca@blizzard ~]$ phoronix-test-suite install pts/disk
[orca@blizzard ~]$ phoronix-test-suite install pts/cpu

Как отмечалось ранее, для некоторых тестов могут понадобиться те или иные пакеты ПО из состава дистрибутива ОС.

Чтобы не повторять длительную загрузку для другой системы, можно создать загрузочный кэш на системе, где эти тесты уже загружены, затем скопировать файлы тестов на другую систему и установить их там. Например:

[orca@blizzard ~]$ phoronix-test-suite make-download-cache
[orca@blizzard ~]$ scp -vr ~/.phoronix-test-suite/download-cache/* \
root@10.0.0.76:~/.phoronix-test-suite/download-cache/

[root@arch /]# phoronix-test-suite install pts/compilation
[root@arch /]# phoronix-test-suite install pts/memory
[root@arch /]# phoronix-test-suite install pts/disk
[root@arch /]# phoronix-test-suite install pts/cpu

Чтобы тесты запускались без вопросов нужно настроить автоматический (batch) режим следующим образом:

[orca@blizzard ~]$ phoronix-test-suite batch-setup
    Save test results when in batch mode (Y/n):
    Open the web browser automatically when in batch mode (y/N):
    Auto upload the results to OpenBenchmarking.org (Y/n): n
    Prompt for test identifier (Y/n): n
    Prompt for test description (Y/n): n
    Prompt for saved results file-name (Y/n): n
    Run all test options (Y/n):

Запустить комплексное тестирование в автоматическом (batch) режиме:

[orca@blizzard ~]$ phoronix-test-suite batch-run pts/compilation pts/memory pts/disk pts/cpu

Другие интересные наборы тестирования:

  • pts/chess
  • pts/database
  • pts/java
  • pts/kernel
  • pts/motherboard
  • pts/multicore
  • pts/server
  • pts/workstation

Заключение

Разумеется, главным назначением “Phoronix test suite” является оценка производительности, а не нагрузочное тестирование. Сравнить же результаты тестирования своей системы с другими системами/конфигурациями, можно на сайте проекта “OpenBenchmarking”. (http://openbenchmarking.org/).