Сравнительный анализ систем Linux с инструментами командной строки

  1. 1. CPU Benchmark и стресс-тестирование
  2. 4. Тест скорости сети с помощью ncmeter
  3. 5. Тестирование OpenSSL
  4. 6. Тестирование скорости ОЗУ
  5. Заключение

Тестирование производительности и стресс-тестирование иногда необходимо для оптимизации производительности системы и устранения узких мест системы, вызванных аппаратным обеспечением. В системе Linux это можно легко сделать с помощью нескольких основных инструментов командной строки.

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

  • Стресс-тестирование процессора и бенчмаркинг.
  • Тестирование производительности ввода-вывода жесткого диска.
  • Тестирование производительности и скорости сети.
  • Тестирование производительности OpenSSL.
  • Тестирование скорости оперативной памяти.

Посмотрите это руководство для подробного Тестирование GPU и стресс-тестирование ,

1. CPU Benchmark и стресс-тестирование

Тест вычисления простого числа в заданном диапазоне с помощью sysbench ,

sysbench --test = процессор --num-threads = 4 --cpu-max-prime = 9999 запуска

эта команда вычислит все простые числа в пределах 9999 , измените число 9999, если хотите.

я

время $ (i = 0; while ((i <9999999)); do ((i ++)); готово)

это вернет время, необходимое для сокращения целых чисел от 0 до 9999999.

реальный 0m47.354s пользователь 0m47.328s sys 0m0.000s

Стресс-тестирование однопоточного процессора

md5sum / dev / urandom

Файл / dev / urandom - это специальный тип файла устройства, который бесконечно возвращает случайные нежелательные символы, поэтому вычисление хеша md5 / dev / urandom в основном нагружает процессор.

Многопоточное нагрузочное тестирование процессора

Эта команда налагает многопоточную нагрузку на процессор на 5 минут,

стресс - процессор 4 - время ожидания 300 с

измените значение --cpu 4 в соответствии с вашей системой. Если у вас есть четырехъядерный процессор с 8 ядрами, используйте --cpu 8.

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

Тест скорости чтения с жесткого диска

С помощью cat и pipebench можно определить различную скорость чтения простого необработанного жесткого диска. Эта команда требует привилегий root, поэтому запустите ее как пользователь root или используйте sudo.

cat / dev / sda3 | pipebench -q> / dev / null

Тест скорости записи файла на HDD с помощью dd

дд бс = 16 тыс. отсчетов = 102400 oflag = прямой, если = / dev / zero of = test_data

Это создаст файл размером около 1,6 ГБ, содержащий только нули, в текущем каталоге и даст вам обзор скорости записи на жесткий диск.

Тест скорости чтения файлов с жесткого диска с помощью dd

Теперь мы будем использовать файл test_data, созданный на предыдущем шаге, чтобы определить скорость чтения жесткого диска.

dd bs = 16K count = 102400 iflag = прямой if = test_data of = / dev / null

Эта команда прочитает файл test_data и отправит данные в черную дыру, например файл специального устройства, / dev / null.

Тест скорости чтения с прямого привода с помощью hdparm

sudo hdparm -t / dev / sda

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

примечание: в Linux обычно файловые системы (ext4, btrfs, xfs и т. д.) всегда работают лучше, чем другие сторонние файловые системы, такие как Windows NTFS или Mac HFS +.

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

Простое измерение пропускной способности сети с помощью iperf .

Прежде чем идти дальше, мы должны сделать некоторые предположения в соответствии с настройкой сети.

При написании этого IPv4-адрес моей сети находился в диапазоне 192.18.72.1/24. IP-адрес сервера был 192.168.72.1, а клиентского ПК - 192.168.1.4 Итак, вы должны изменить эти настройки в соответствии с настройками вашей сети.

  1. Сначала запустите сервер iperf на сервере,
    iperf -s -p 8000

    это запустит iperf в режиме сервера, который связывает порт 8080 со всеми доступными сетевыми интерфейсами.

  2. Теперь подключитесь к этому серверу с iperf в качестве клиента, просто найдите правильный IP-адрес сервера и выполните команду ниже iperf -c 192.168.72.1 -p 8000

    это даст вам обзор скорости пропускной способности вашего tcp-соединения. это даст вам обзор скорости пропускной способности вашего tcp-соединения

4. Тест скорости сети с помощью ncmeter

Ncmeter - это простой скрипт оболочки bash, который использует netcat-традиционный для измерения пропускной способности сети. Эти сценарии являются частью пакета netcat-Traditional в дистрибутивах на основе Debian, расположенных в папке / usr / share / doc / netcat-Traditional / examples / contrib . Скопируйте этот скрипт в / usr / local / bin , сделайте его исполняемым с помощью chmod + x и затем запустите скрипт.

cp / usr / share / doc / netcat-classic / examples / contrib / ncmeter ~ / chmod + x ~ / ncmeter ./ncmeter --help # показать доступные опции

Запустите ncmeter в режиме сервера

./ncmeter

который связывает все доступные сетевые интерфейсы с портом 23457.

Откройте новый терминал или новую вкладку, затем выполните следующую команду.

./ncmeter 192.168.72.1 256M

Замените IP 192.168.72.1 на IP-адрес вашего сервера ncmeter. Замените IP 192

5. Тестирование OpenSSL

Этот тест в основном означает, насколько быстро процессор может вычислять криптографические хеши, такие как md5, sha1, aes, rsa и т. Д. И т. Д. Тест OpenSSL также важен для сетевых устройств, таких как маршрутизаторы, мосты, концентраторы и т. Д.

Сравнительный анализ OpenSSL может быть легко выполнен с помощью команд ниже.

openssl speed des des-ede3 dsa2048 hmac idea-cbc md5

Эта производительность сильно варьируется, если в процессоре присутствует какой-либо аппаратный криптографический ускоритель, более подробно см. Справочную страницу openssl и сайт openssl ,

6. Тестирование скорости ОЗУ

STREAM является де-факто промышленным стандартом для тестирования скорости оперативной памяти. Однако это не в хранилище Ubuntu. Таким образом, вы должны скомпилировать его самостоятельно, чтобы сделать тест.

Я не буду вдаваться в подробности того, как скомпилировать программное обеспечение в Linux с помощью инструментов командной строки. Просто команды для любой системы на основе Debian и небольшие комментарии после них.

  1. Установите некоторые необходимые инструменты для бинарной компиляции. sudo apt-get установить git g ++ build-essential pkg-config
  2. Скопируйте репозиторий STREAM. git clone https://github.com/jeffhammond/STREAM.git
  3. Перейдите в каталог и скомпилируйте. CD STREAM / && сделать все
  4. Протестируйте C- версию приложения. ./stream_c.exe

Ну вот и все, скриншот результатов ниже, средняя скорость была выше 10 ГБ / с со всеми четырьмя процессорами.

У меня нет ни одной системы с современной оперативной памятью DDR3L с тактовой частотой 1600 МГц или с оперативной памятью DDR4 с тактовой частотой 2400 МГц, если у вас есть такая система, поделитесь своим опытом.

Тестирование скорости оперативной памяти с помощью dd

Инструмент dd unix предназначен не только для тестирования скорости оперативной памяти, но и в этом нет необходимости, однако это можно рассматривать как эксперимент.

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

mkdir RAM_test sudo mount tmpfs -t tmpfs RAM_test / # монтировать файловую систему tmpfs cd RAM_test dd if = / dev / zero of = data_tmp bs = 1M count = 512 # записать в тест RAM dd if = data_tmp of = / dev / null bs = 1M кол-во = 512

Посмотри на результат! Это невероятно быстро! Я достиг скорости записи около 2,8 ГБ / с и скорости чтения 3,8 ГБ / с с модулем оперативной памяти DDR3 4 ГБ 1333 МГц. Вы можете узнать больше о использование памяти Linux здесь ,

Заключение

Итак, вот и все, простой бенчмарк-тест в Linux, он даст вам приблизительный обзор производительности вашей системы. Эти методы должны отлично работать на широком диапазоне UNIX или Дистрибутивы GNU / Linux ,

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

Если у вас есть еще вопросы, не стесняйтесь их задавать, а также не забудьте поделиться этим учебником со своими друзьями.