Как проверить производительность процессора в Linux

Раньше основным показателем производительности процессора была его тактовая частота. Однако современные процессоры разных производителей имеют различную архитектуру и оптимизацию, что делает необходимым использование бенчмарков для оценки их реальной скорости.

Инструменты для бенчмаркинга CPU выполняют задачи на процессорах и измеряют время, затраченное на их выполнение. Некоторые задачи являются чисто синтетическими, в то время как другие пытаются имитировать реальное использование. Как бы то ни было, эти задачи не могут полностью отразить все многообразие способов использования процессоров людьми.

Несмотря на то, что существует множество сторонних и коммерческих приложений для проведения бенчмарков процессора, sysbench является широко используемым стандартным инструментом в системах Linux. Он доступен в стандартных репозиториях большинства дистрибутивов Linux.

Шаги для определения скорости процессора в Linux

Откройте приложение терминала.

Установите пакет sysbench для вашей системы.

Определите количество ядер и потоков процессора в системе.

Проверьте скорость работы одного ядра процессора.

sysbench cpu run

Скорость работы нескольких ядер или потоков процессора.

Проверьте скорость работы нескольких ядер или потоков процессора.

Проведите длительный бенчмарк для получения устойчивой нагрузки на процессор.

Усовершенствуйте тестирование, используя дополнительные опции sysbench.

Использование:

Общие параметры:

  • --threads=N количество потоков для использования [1]
  • --events=N ограничение на общее количество событий [0]
  • --time=N ограничение на общее время выполнения в секундах [10]
  • --forced-shutdown=STRING количество секунд, которое нужно подождать после -time limit перед принудительным выключением, или 'off' для отключения [off]
  • --thread-stack-size=SIZE размер стека для каждого потока [64K]
  • --rate=N средняя скорость транзакций. 0 для неограниченной скорости [0]
  • --report-interval=N периодически сообщать промежуточную статистику с заданным интервалом в секундах. 0 отключает промежуточные отчеты [0]
  • --report-checkpoints=[LIST,...] сбрасывать полную статистику и обнулять все счетчики в указанные моменты времени. Аргумент представляет собой список разделенных запятыми значений, обозначающих количество времени в секундах, прошедшее с начала теста, когда должны быть выполнены контрольные точки отчета. По умолчанию контрольные точки отчета отключены.
  • --debug[=on|off] выводить дополнительную отладочную информацию [off]
  • --validate[=on|off] выполнять проверки валидности там, где это возможно [off]
  • --help[=on|off] печать справки и выход [off]
  • --version[=on|off] вывести версию и выйти [off]
  • --config-file=FILENAME Файл, содержащий параметры командной строки
  • --tx-rate=N устаревший псевдоним для --rate [0]
  • --max-requests=N устаревший псевдоним для --events [0]
  • --max-time=N устаревший псевдоним для --time [0]
  • --num-threads=N устаревший псевдоним для --threads [1]

Параметры генератора псевдослучайных чисел:

  • --rand-type=STRING распределение случайных чисел {равномерное, гауссово, специальное, парето} [special]
  • --rand-spec-iter=N количество итераций, используемых для генерации чисел [12]
  • --rand-spec-pct=N процент значений, которые будут рассматриваться как "специальные" (для специального распределения) [1]
  • --rand-spec-res=N процент "особых" значений для использования (для специального распределения) [75]
  • --rand-seed=N затравка для генератора случайных чисел. Если 0, то в качестве затравки для ГСЧ используется текущее время. [0]
  • --rand-pareto-h=N параметр h для распределения Парето [0.2]

Параметры журнала:

  • --verbosity=N уровень вербозности {5 - отладка, 0 - только критические сообщения} [3]
  • --percentile=N процентиль для расчета статистики задержки (1-100). Используйте специальное значение 0, чтобы отключить вычисление перцентиля [95]
  • --histogram[=on|off] печать гистограммы задержек в отчете [off]

Общие параметры базы данных:

  • --db-driver=STRING указывает драйвер базы данных для использования ('help' для получения списка доступных драйверов) [mysql]
  • --db-ps-mode=STRING режим использования подготовленных операторов {авто, отключить} [auto]
  • --db-debug[=on|off] печать отладочной информации, специфичной для базы данных [off]

Компилируемые драйверы баз данных:

  • mysql - драйвер MySQL
  • pgsql - драйвер PostgreSQL

Параметры mysql:

  • --mysql-host=[LIST,...] Хост сервера MySQL [localhost]
  • --mysql-port=[LIST,...] Порт сервера MySQL [3306]
  • --mysql-socket=[LIST,...] Сокет MySQL
  • --mysql-user=STRING Пользователь MySQL [sbtest]
  • --mysql-password=STRING Пароль MySQL []
  • --mysql-db=STRING Имя базы данных MySQL [sbtest]
  • --mysql-ssl[=on|off] использовать SSL-соединения, если они доступны в клиентской библиотеке [off]
  • --mysql-ssl-cipher=STRING использование определенного шифра для SSL-соединений []
  • --mysql-compression[=on|off] использовать сжатие, если оно доступно в клиентской библиотеке [off]
  • --mysql-debug[=on|off] трассировка всех вызовов клиентской библиотеки [off]
  • --mysql-ignore-errors=[LIST,...] список ошибок для игнорирования, или "все" [1213,1020,1205]
  • --mysql-dry-run[=on|off] Сухой запуск, притворяться, что все вызовы API клиента MySQL успешны, не выполняя их [off]

Параметры pgsql:

  • --pgsql-host=STRING Хост сервера PostgreSQL [localhost]
  • --pgsql-port=N Порт сервера PostgreSQL [5432]
  • --pgsql-user=STRING Пользователь PostgreSQL [sbtest]
  • --pgsql-password=STRING Пароль PostgreSQL []
  • --pgsql-db=STRING Имя базы данных PostgreSQL [sbtest]

Компилируемые тесты:

  • fileio - тест ввода/вывода файлов
  • cpu - Тест производительности процессора
  • memory - Тест скорости работы функций памяти
  • threads - Тест производительности подсистемы потоков
  • mutex - Тест производительности мьютекса
Понравилась статья? Поделиться с друзьями:
Добавить комментарий