Как да тествате производителността на сървърите: сборник от няколко open source бенчмарка

Продължаваме нашата серия материали, посветени на тестването на производителността на сървърите. Днес ще говорим за няколко проверени през времето бенчмарка, които все още се поддържат и обновяват — NetPerf, HardInfo и ApacheBench.

Как да тествате производителността на сървърите: сборник от няколко open source бенчмарка
Снимка — Петър Балчевак — CC BY-SA

NetPerf

Това е инструмент за оценка на пропускната способност на мрежата. Разработен е от инженери на Hewlett-Packard. Инструментът включва разполага с два изпълними файла: netserver и netclient. За провеждане на теста те трябва да бъдат стартирани на различни машини. По подразбиране netperf използва порт 12865, но той може да бъде заменен с флага -p. Утилитата работи с TCP и UDP по BSD Sockets, DLPI, Unix Domain Sockets и IPv6.

Днес netperf влиза в набора инструменти за бенчмаркинг Flent. Също така той е използван от доста голям брой ИТ компании, например Red Hat. Ето как изглежда описанието на услугата netperf в един от примерите за оценка на производителността на OpenShift:

apiVersion: v1
kind: Service
metadata:
  labels:
    app-name: netperf
  name: netperf
  namespace: your_project
spec:
  ports:
  - port: 12865
    protocol: TCP
    targetPort: 12865
  selector:
    app-name: netperf
  sessionAffinity: ClientIP
  type: ClusterIP

В официалния репозиторий е посочено, че netperf се разпространява под специална лицензия на Hewlett-Packard. Въпреки това, авторът на утилитата — Рик Джоунс (Rick Jones) — твърди, че тя е оформена в най-добрите традиции на open source. Също така, трябва да споменем, че напоследък обновленията за netperf започнаха да излизат сравнително рядко. Вероятно това е свързано със зрялостта на продукта.

Netperf има аналози — например, iperf2 и iperf3. Те също позволяват тестване на пропускната способност на мрежата. Разработката на iperf3 започна след като репозиторият на iperf2 изпадна в упадък. Новата версия е написана от нулата и е несъвместима с предишната реализация, въпреки че съдържа част от нейния код. Интересното е, че след релиза на iperf3, работата върху iperf2 отново започна с пълна сила. В крайна сметка, и двата инструмента разполагат с подобна, но в същото време различна функционалност. Например, iperf2 е многопоточен, а iperf3 е работи само с един поток.

Hardinfo

Това е утилита за събиране на информация за хардуера и операционната система. Тя показва данни за работата на устройствата на: PCI, ISA PnP, USB, IDE, SCSI, както и последователни и паралелни портове. Но може да бъде използвана и като бенчмарк и инструмент за мониторинг.

HardInfo предлага няколко теста. Например, CPU Blowfish - оценява производителността на процесора с помощта на криптографски алгоритми на блочно симетрично шифроване. Има CPU N-Queens - тест от комбинаториката. Системата решава шахматния проблем за разполагане на N дами на дъска с размер N x N. Тя разпределя фигурите така, че никоя от тях да не може да атакува другите. Също така е важно да се отбележи FPU FFT - тест за бързо изчисление на дискретното преобразуване на Фурие и FPU Raytracing - изчисление на трасировка на лъчи при рендериране на 3D сцена.

Резултатите в повечето тестове се дават в секунди и, съответно, колкото по-ниски са те, толкова по-добре. Всички отчети са показани в формати HTML и txt.

Първоначално утилитата е разработвана в рамките на проекта BerliOS. Той включваше хостинг платформа за приложения с отворен код (като SourceForge) и няколко бази данни за документация и профили на разработчици с отворен код. BerliOS беше закрит през 2014 г. поради недостатъчни финанси. Днес HardInfo се развива благодарение на усилията на ентусиасти в отделен репозиторий може да бъде намерен на GitHub.

Следва да се отбележи, че в работата на системата понякога се срещат бъгове. Известно е за периодично възникваща грешка при сегментиране, проблеми с изображението на USB устройства и няколко други.

ApacheBench

Инструмент за натоварващо тестване на HTTP сървъри. ApacheBench (AB) е разработван за проверка на Apache, но може да работи и на всеки друг сървър. Инструментът е предварително инсталиран в много дистрибуции на Linux.

Как да тествате производителността на сървърите: сборник от няколко open source бенчмарка
Снимка — Victor Freitas — Unsplash

Утилитата 'бомбардира' сървърите с много заявки. За да стартирате, трябва да въведете следната команда:

ab -n 100 -c 10 http://www.example.com/

Тя ще изпрати сто GET заявки (максимум десет от тях ще бъдат изпратени едновременно) към тестовия ресурс. На изхода системата ще покаже средно време за обработка на заявките, общ обем на предадените данни, пропускна способност и брой грешки.

Днес около утилитата се е събрало обширно общество. В мрежата редовно се появяват нови ръководства за това как да настроите и използвате ApacheBench.

Важно е да се спомене, че AB има аналог - Apache jMeter, но с много възможности. Например, той позволява генерирането на заявки от няколко компютъра, управлявайки процеса от един от тях. Поредицата включва механизми за авторизация на виртуални потребители и поддържа потребителски сесии. Този инструмент се прилага от много ИТ компании, включително облачни доставчици, като например Qualys.

Как да тествате производителността на сървърите: сборник от няколко open source бенчмаркаНие в 1cloud предлагаме услуга «Частно облако». Това е наем на виртуална инфраструктура с възможност за бърза кастомизация на парка виртуални сървъри.
Как да тествате производителността на сървърите: сборник от няколко open source бенчмаркаНашето облако е построено на оборудване Cisco, Dell, NetApp. Оборудването се намира в няколко ЦОД: DataSpace (Москва), SDN/Xelent (Санкт-Петербург), Ahost (Алма-Ата).

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster