Није битно да ли се користи Нгинк, апацхе, Лигхттпд или други, било који мрежни администратор који има веб сервер ће у једном тренутку желети да зна колико брзо веб сервер одговара на дати број упита.
Апацхе Бенцхмарк + ГНУПлот
Овај пут ћемо користити алатку тзв Апацхе Бенцхмарк, који иако у свом називу има „апацхе“, НИЈЕ само за мерење перформанси Апацхеа, већ се може користити и за Нгинк и друге. Заправо, користићу га за мерење перформанси Нгинк.
Такође ћемо користити ГНУПлот, који ће нам помоћи да направимо овакве графиконе са неколико редова:
Инсталирање Апацхе Бенцхмарка и ГНУПлот-а
Апацхе Бенцхмарк је алат који можемо користити након инсталирања Апацхе пакета, ГНУПлот ће бити доступан након инсталирања истоименог пакета. Тако онда ...
На дистрибуцијама попут Дебиана, Убунту-а или сличних:
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 (најдужи захтев)
Црвеном бојом сам означио оно што сматрам најважнијом, а то је било више-мање:
- Подаци сервера који тестирамо, као и УРЛ адреса о којој је реч.
- Број захтева у секунди.
- Колико милисекунди је требало серверу да присуствује захтеву који је најдуже трајао, односно оном коме је требало најдуже да се одговори.
Помоћу ових информација могу да имају представу о томе колико ће времена требати серверу да присуствује тој количини захтева, затим могу додати бољи систем кеш меморије, деактивирати модуле које не користе итд. Итд., Поново покренути тест и погледајте да ли су се перформансе побољшале или не.
Остале корисне Апацхе Бенцхмарк опције или параметри:
-к -Х 'Прихвати-кодирај: гзип, испразни' : Са овом аб ће прихватити кеш и компресију коју је сервер конфигурисао, тако да ће времена бити мања.
-ф урлс.ткт : Дакле, уместо да само тестира индекс странице, он ће извршити тестове на УРЛ-овима које смо навели у тој датотеци.
У сваком случају ... погледајте човек аб да видите.
Прикажи резултат на графикону:
Ставити овај излаз у слику, односно у визуелнији медиј и то много пута, све је што менаџери успевају да разумеју ... за ово ћемо користити као што сам рекао раније, ГНУПлот
У истој фасцикли у којој имамо датотеку ресултс.цсв (запамтите, управо смо генерисали помоћу горње команде) креираћемо датотеку звану гнуплот.п:
nano plot.p
У њега ћемо ставити следеће:
постави терминал пнг величина 600 постави излаз "ресултс.пнг"постави наслов"100 захтеви, 20 истовремени захтеви „постави однос величине 0.6 постави мрежу и постави клабел“захтева"постави илабел"време одзива (мс)"заплет"резултати.цсв"помоћу 9 глатких сбезиера са насловом линија"гутл.јовенцлуб.цу"
Црвеном бојом сам назначио шта увек треба да проверите. То је и од врха до дна:
- Назив датотеке слике која ће се генерисати
- Број укупних и истовремених захтева.
- Име датотеке коју смо управо генерисали.
- Домен на коме радимо.
Једном када то ставимо, сачувајте и изађите (Цтрл + О и онда Цтрл + Кс), извршићемо следеће:
gnuplot plot.p
А воила, која ће генерисати графикон са жељеним именом, мој је:
Апацхе Бенцхмарк има много више опција, такође постоји много комбинација које можемо користити да наш тест перформанси учинимо још потпунијим.
Али хеј, ово је било основа 😉
Уживајте!
Занимљиво мерило апацхе-а, нисам знао за гнуплот, да ли је могуће изменити стил излаза? Кажем за формални извештај.
Поздрав из Чилеа.
Да, на мрежи постоји пуно конфигурација за гнуплот, претражите Гоогле да бисте утврдили да ли сте нашли довољно озбиљног или професионалног човека да бисте га могли користити, јер то је укус свих укуса
Уммм, тестираћу га одмах на виртуелном Апацхе серверу који покрећем да видим како то иде, с обзиром на ГУТЛ, јер се врло брзо активира из 80 захтева, зар не? Да видимо да 100 мс није ништа, али највиша вредност која даје још 10 захтева у поређењу са 70 до 80 са 80 до 90 привлачи моју пажњу
То мора бити због реда или броја максималних нити којима треба истовремено присуствовати. Међутим, тест сам урадио без гзип-а, без испухивања, без кеш меморије или било чега другог 😉
Врло занимљиво, посебно за употребу ГНУПлот-а. Колико видим, може се користити за генерисање графова из готово било ког скупа података, зар не? ...
Да, наравно, податке прослеђујете у датотеку одвојену зарезима или слично, у конфигурационој датотеци кажете како се то обрађује и воила
Здраво, увек га проводим читајући овај блог, али никада нисам коментарисао ниједан чланак, и ово ми се чини као добра прилика.
Оно што желим да поделим са вама је да се ова врста графикона може погрешно протумачити, јер Апацхе Бенцх сортира резултат користећи ттиме (укупно време) уместо секвенцијалног времена. Иако су подаци и даље тачни, графикон вероватно не показује шта желимо.
Ево везе на којој сам је прочитао.
http://www.bradlanders.com/2013/04/15/apache-bench-and-gnuplot-youre-probably-doing-it-wrong/
Поздрав.
Апацхе Бенцхмарк није најбољи алат за мерење перформанси ХТТП сервера на рачунарима са више језгара, поред тога, само 100 захтева са 20 истовремених веза је врло слаб тест, нешто реалније би било 1,000 или 10,000 захтева са 100 истовремених веза ( познато је да је Нгинк једна од апликација која може да сервисира више од 10,000 захтева у секунди) и за то је боље користити алатку попут веигхттп-а, која је дизајнирана за рачунаре са више језгара и користи еполл који је бржи, за разлику од Апацхе-а Стол који користи једну нит и мање ефикасан механизам за руковање догађајима.
Да закључим, претпостављајући да сервер има само 4 језгра:
веигхттп -н 10000 -ц 100 -т 4 -к "хттп://оур-вебсите.цом/"
Поздрав свима,
Када цртам графикон (из ЦСВ-а) помоћу гнуплот-а, јавља ми се следећа грешка, можете ли ми рећи како да то решим?
„Плот.п“, ред 8: упозорење: Прескакање датотеке података без важећих тачака
зацртати «грапх.цсв» користећи 9 глатких сбезиера са насловом линија «АБ - лоцалхост / веб»
^
„Плот.п“, ред 8: к опсег је неважећи
Да ли помоћу гнуплот могу да генеришем и ХТМЛ странице?