Апацхе Бенцхмарк + ГНУПлот: Измерите и графички прикажите перформансе вашег веб сервера

Није битно да ли се користи Нгинк, апацхе, Лигхттпд или други, било који мрежни администратор који има веб сервер ће у једном тренутку желети да зна колико брзо веб сервер одговара на дати број упита.

Манагед-Сервицес-Сервер-Манагемент-е1368625038693

Апацхе Бенцхмарк + ГНУПлот

Овај пут ћемо користити алатку тзв Апацхе Бенцхмарк, који иако у свом називу има „апацхе“, НИЈЕ само за мерење перформанси Апацхеа, већ се може користити и за Нгинк и друге. Заправо, користићу га за мерење перформанси Нгинк.

Такође ћемо користити ГНУПлот, који ће нам помоћи да направимо овакве графиконе са неколико редова:

Резултати

Инсталирање Апацхе Бенцхмарка и ГНУПлот-а

Апацхе Бенцхмарк је алат који можемо користити након инсталирања Апацхе пакета, ГНУПлот ће бити доступан након инсталирања истоименог пакета. Тако онда ...

На дистрибуцијама попут Дебиана, Убунту-а или сличних:

sudo apt-get install apache2 gnuplot

У дистрибуцијама попут АрцхЛинук-а или деривата:

sudo pacman -S apache gnuplot

Потребно је само да инсталирамо пакет Апацхе, не треба га покретати нити било шта друго конфигурисати, биће довољно само инсталирање.

Коришћење Апацхе Бенцхмарка

Оно што ћемо урадити је да пошаљемо одређени број захтева (100) у групама од по неколико (од 20 до 20) на одређену локацију. Резултат ћемо сачувати у .цсв датотеци (ресулт.цсв), а затим га обрадити помоћу ГНУПлоит, ред би био:

ab -g resultados.csv -n 100 -c 20 http://nuestro-sitio-web.com/

Веома је важно да се коначни / стави у УРЛ локације која се мери.

Ово је излаз или дневник који ме приказује када тестирам локацију на својој мрежи:

Ово је АпацхеБенцх, верзија 2.3 <$ Ревизија: 1638069 $> Ауторска права 1996 Адам Твисс, Зеус Тецхнологи Лтд, хттп://ввв.зеустецх.нет/ Лиценца Апацхе Софтваре Фоундатион, хттп://ввв.апацхе.орг/ Бенцхмаркинг гутл.јовенцлуб.цу (будите стрпљиви) ..... готово

Сервер софтвер: нгинк Име сервера сервера: гутл.јовенцлуб.цу Порт сервера: 80

Путања документа: /
Дужина документа: 206 бајтова Истовремени ниво: 20 Време потребно за тестове: 0.101 секунде Довршени захтеви: 100 Неуспели захтеви: 27 (Повезивање: 0, пријем: 0, дужина: 27, изузеци: 0) Одговори који нису 2кк: 73 Укупно пренет: 1310933 бајта Пребачен ХТМЛ: 1288952 бајта
Захтеви у секунди: 993.24 [# / сек] (средње)
Време по захтеву: 20.136 [мс] (средње) Време по захтеву: 1.007 [мс] (средње, за све истовремене захтеве) Брзина преноса: 12715.49 [Кбитес / сец] примљена времена повезивања (мс) мин средње [+/- сд] средња вредност макс. Повезивање: 0 1 0.2 1 1 Обрада: 1 17 24.8 4 86 Чекање: 1 15 21.5 4 76 Укупно: 1 18 24.8 5 87 Проценат захтева достављених у одређеном времену (мс) 50% 5 66% 6 75% 22 80% 41 90% 62 95% 80 98% 87 99% 87
100% 87 (најдужи захтев)

Црвеном бојом сам означио оно што сматрам најважнијом, а то је било више-мање:

  1. Подаци сервера који тестирамо, као и УРЛ адреса о којој је реч.
  2. Број захтева у секунди.
  3. Колико милисекунди је требало серверу да присуствује захтеву који је најдуже трајао, односно оном коме је требало најдуже да се одговори.

Помоћу ових информација могу да имају представу о томе колико ће времена требати серверу да присуствује тој количини захтева, затим могу додати бољи систем кеш меморије, деактивирати модуле које не користе итд. Итд., Поново покренути тест и погледајте да ли су се перформансе побољшале или не.

Препоручујем да тест извршите 2 или 3 пута, тако да направите нешто попут маргине, јер су резултати два теста заредом ретко идентични.

Остале корисне Апацхе Бенцхмарк опције или параметри:

-к -Х 'Прихвати-кодирај: гзип, испразни' : Са овом аб ће прихватити кеш и компресију коју је сервер конфигурисао, тако да ће времена бити мања.

-ф урлс.ткт : Дакле, уместо да само тестира индекс странице, он ће извршити тестове на УРЛ-овима које смо навели у тој датотеци.

У сваком случају ... погледајте човек аб да видите.

Прикажи резултат на графикону:

Ставити овај излаз у слику, односно у визуелнији медиј и то много пута, све је што менаџери успевају да разумеју ... за ово ћемо користити као што сам рекао раније, ГНУПлот

У истој фасцикли у којој имамо датотеку ресултс.цсв (запамтите, управо смо генерисали помоћу горње команде) креираћемо датотеку звану гнуплот.п:

nano plot.p

У њега ћемо ставити следеће:

постави терминал пнг величина 600 постави излаз "ресултс.пнг"постави наслов"100 захтеви, 20 истовремени захтеви „постави однос величине 0.6 постави мрежу и постави клабел“захтева"постави илабел"време одзива (мс)"заплет"резултати.цсв"помоћу 9 глатких сбезиера са насловом линија"гутл.јовенцлуб.цу"

Црвеном бојом сам назначио шта увек треба да проверите. То је и од врха до дна:

  1. Назив датотеке слике која ће се генерисати
  2. Број укупних и истовремених захтева.
  3. Име датотеке коју смо управо генерисали.
  4. Домен на коме радимо.

Једном када то ставимо, сачувајте и изађите (Цтрл + О и онда Цтрл + Кс), извршићемо следеће:

gnuplot plot.p

А воила, која ће генерисати графикон са жељеним именом, мој је:

резултати2

Крај!

Апацхе Бенцхмарк има много више опција, такође постоји много комбинација које можемо користити да наш тест перформанси учинимо још потпунијим.

Али хеј, ово је било основа 😉

Уживајте!


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Франциско дијо

    Занимљиво мерило апацхе-а, нисам знао за гнуплот, да ли је могуће изменити стил излаза? Кажем за формални извештај.

    Поздрав из Чилеа.

    1.    КЗКГ ^ Гаара дијо

      Да, на мрежи постоји пуно конфигурација за гнуплот, претражите Гоогле да бисте утврдили да ли сте нашли довољно озбиљног или професионалног човека да бисте га могли користити, јер то је укус свих укуса

  2.   ВолфКСНУМКС дијо

    Уммм, тестираћу га одмах на виртуелном Апацхе серверу који покрећем да видим како то иде, с обзиром на ГУТЛ, јер се врло брзо активира из 80 захтева, зар не? Да видимо да 100 мс није ништа, али највиша вредност која даје још 10 захтева у поређењу са 70 до 80 са 80 до 90 привлачи моју пажњу

    1.    КЗКГ ^ Гаара дијо

      То мора бити због реда или броја максималних нити којима треба истовремено присуствовати. Међутим, тест сам урадио без гзип-а, без испухивања, без кеш меморије или било чега другог 😉

  3.   Цхарлие-Бровн дијо

    Врло занимљиво, посебно за употребу ГНУПлот-а. Колико видим, може се користити за генерисање графова из готово било ког скупа података, зар не? ...

    1.    КЗКГ ^ Гаара дијо

      Да, наравно, податке прослеђујете у датотеку одвојену зарезима или слично, у конфигурационој датотеци кажете како се то обрађује и воила

  4.   Адолфо дијо

    Здраво, увек га проводим читајући овај блог, али никада нисам коментарисао ниједан чланак, и ово ми се чини као добра прилика.
    Оно што желим да поделим са вама је да се ова врста графикона може погрешно протумачити, јер Апацхе Бенцх сортира резултат користећи ттиме (укупно време) уместо секвенцијалног времена. Иако су подаци и даље тачни, графикон вероватно не показује шта желимо.
    Ево везе на којој сам је прочитао.
    http://www.bradlanders.com/2013/04/15/apache-bench-and-gnuplot-youre-probably-doing-it-wrong/

    Поздрав.

  5.   Хуго дијо

    Апацхе Бенцхмарк није најбољи алат за мерење перформанси ХТТП сервера на рачунарима са више језгара, поред тога, само 100 захтева са 20 истовремених веза је врло слаб тест, нешто реалније би било 1,000 или 10,000 захтева са 100 истовремених веза ( познато је да је Нгинк једна од апликација која може да сервисира више од 10,000 захтева у секунди) и за то је боље користити алатку попут веигхттп-а, која је дизајнирана за рачунаре са више језгара и користи еполл који је бржи, за разлику од Апацхе-а Стол који користи једну нит и мање ефикасан механизам за руковање догађајима.

    Да закључим, претпостављајући да сервер има само 4 језгра:

    веигхттп -н 10000 -ц 100 -т 4 -к "хттп://оур-вебсите.цом/"

  6.   вера дијо

    Поздрав свима,
    Када цртам графикон (из ЦСВ-а) помоћу гнуплот-а, јавља ми се следећа грешка, можете ли ми рећи како да то решим?

    „Плот.п“, ред 8: упозорење: Прескакање датотеке података без важећих тачака

    зацртати «грапх.цсв» користећи 9 глатких сбезиера са насловом линија «АБ - лоцалхост / веб»
    ^
    „Плот.п“, ред 8: к опсег је неважећи

    Да ли помоћу гнуплот могу да генеришем и ХТМЛ странице?