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

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

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

NetPerf

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

Днес netperf е включен в инструментариума за сравнителен анализ Флент. Използва се и от доста голям брой ИТ компании, например 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. Авторът на помощната програма Рик Джоунс обаче твърди, че тя е проектирана в най-добрите традиции на отворения код. Също така имайте предвид, че наскоро актуализациите за 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 дистрибуции.

Как да тествате производителността на сървъра: селекция от няколко бенчмарка с отворен код
Снимка - Виктор Фрейтас — Unplash

Помощната програма бомбардира сървъри с голям брой заявки. За да стартирате, трябва да въведете следната команда:

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

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

Днес голяма общност се е събрала около помощната програма. Редовно се появяват в интернет най-новите ръководства за това как да настроите и използвате ApacheBench.

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

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

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

Добавяне на нов коментар