Продължаваме серията си от материали, посветени на тестването на производителността на сървърите. Днес ще говорим за два утвърдени бенчмарка, които все още се поддържат и обновяват - NetPerf, HardInfo и ApacheBench.
Снимка — — CC BY-SA
Това е инструмент за оценка на пропускната способност на мрежата. Разработен е от инженери на Hewlett-Packard. Инструментът се състои от два изпълняеми файла: netserver и netclient. За провеждане на теста, те трябва да бъдат стартирани на различни машини. По подразбиране netperf използва порт 12865, но може да бъде заменен с флага -p. Утилитата работи с TCP и UDP по BSD Sockets, DLPI, Unix Domain Sockets и IPv6.
Днес netperf е част от набора инструменти за бенчмаркинг . Освен това, той се използва от доста голям брой ИТ компании, . Ето как изглежда описанието на услугата 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 има аналози - например, и . Те също така позволяват тестване на пропускната способност на мрежата. Развитието на iperf3 започна след като репозиторият на iperf2 изпадна в упадък. Новата версия е написана от нулата и не е съвместима с предишната реализация, въпреки че съдържа част от нейния код. Интересното е, че след освобождаването на iperf3, работата по iperf2 отново се активизира. В крайна сметка двата инструмента подобна, но в същото време различна функционалност. Например, iperf2 е многопоточен, докато iperf3 е само с един поток.
Това е утилита за събиране на информация за хардуера и операционната система. Тя показва данни за работата на устройствата на: PCI, ISA PnP, USB, IDE, SCSI, а също и на последователни и паралелни портове. Но може да се използва и като бенчмарк и инструмент за мониторинг.
HardInfo предлага множество тестове. Например, CPU Blowfish — оценява производителността на процесора чрез криптографски алгоритми за симетрично шифроване. Има — тест от комбинаториката. Системата решава шахматната задача за разположение на N дами на дъска N x N клетки. Тя разполага фигурите така, че нито една от тях да не може да атакува другите. Също така е важно да се отбележи FPU FFT — тест за бързо пресмятане на дискретното преобразуване на Фурие и FPU Raytracing — изчисление на трасировката на лъчи при рендериране на 3D сцена.
Резултатът в повечето тестове се дава в секунди и съответно, колкото по-малък е той — толкова по-добре. Всички отчети се показват във формати HTML и txt.
Първоначално утилитата е разработвана в рамките на проекта . Той включва хостинг платформа за приложения с отворен код (като ) и няколко бази данни за документация и профили на open source разработчици. BerliOS затвори през 2014 година поради недостаточно финансиране. Днес HardInfo се развива с усилията на ентусиасти на GitHub.
Нека отбележим, че при работата на системата понякога се срещат бъгове. Известно е за периодично възникваща , проблеми с и няколко .
Инструмент за натоварвателно тестване на HTTP сървъри. ApacheBench (AB) е разработван за тестване на Apache, но може да работи и на всеки друг сървър. Инструментът е предварително инсталиран на много дистрибуции на Linux.

Снимка — — Unsplash
Утилитата „бомбардира“ сървърите с голямо количество заявки. За стартиране трябва да се въведе следната команда:
ab -n 100 -c 10 http://www.example.com/Тя ще изпрати сто GET заявки (едновременно ще бъдат предавани максимум десет от тях) към тестовия ресурс. На изхода системата ще покаже средното време за обработка на заявките, общия обем на предадените данни, пропускателната способност и броя на грешките.
Днес около утилитата се е събрало обширно общество. В мрежата редовно се появяват за това как да настроите и използвате ApacheBench.
Нека отбележим, че AB има аналог — , но с разширени възможности. Например, той позволява генериране на заявки от няколко компютъра, управлявайки процеса от един от тях. В програмата също са реализирани механизми за авторизация на виртуални потребители, поддържат се потребителски сесии. Този инструмент се използва от много ИТ компании, облачни доставчици, например .
Ние в 1cloud предлагаме услуга . Това е наем на виртуална инфраструктура с възможност за бърза кастомизация на парка .
Нашето облако Cisco, Dell, NetApp. Оборудването се намира в няколко ЦОД: DataSpace (Москва), SDN/Xelent (Санкт-Петербург), Ahost (Алма-Ата).
Източник: habr.com
