l9_nc
.pdfab
user@web$ ab
ab: wrong number of arguments
Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
-n requests |
Number of |
requests to perform
-c concurrency Number of multiple requests to make
-t timelimit Seconds to max. wait for responses
...
user@web$ ab -n 10 -c 5 http://google.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking google.com (be patient).....done
Server Software: |
|
gws |
|
|
|
Server Hostname: |
|
google.com |
|
||
Server Port: |
|
|
80 |
|
|
Document Path: |
|
|
/ |
|
|
Document Length: |
|
219 bytes |
|
||
Concurrency Level: |
|
5 |
|
|
|
Time taken for tests: |
0.310 seconds |
|
|||
Complete requests: |
|
10 |
|
|
|
Failed requests: |
|
0 |
|
|
|
Write errors: |
|
|
0 |
|
|
Non-2xx responses: |
|
10 |
|
|
|
Total transferred: |
|
5690 bytes |
|
||
HTML transferred: |
|
2190 bytes |
|
||
Requests per second: |
32.30 [#/sec] (mean) |
||||
Time per request: |
|
154.810 [ms] (mean) |
|||
Time per request: |
|
30.962 [ms] (mean, across all concurrent requests) |
|||
Transfer rate: |
|
|
17.95 [Kbytes/sec] received |
||
Connection Times (ms) |
|
|
|
||
|
min |
mean[+/-sd] median |
max |
||
Connect: |
75 |
75 |
0.5 |
75 |
76 |
Processing: |
77 |
78 |
0.6 |
78 |
79 |
Waiting: |
77 |
78 |
0.6 |
78 |
79 |
Total: |
152 |
153 |
1.0 |
153 |
155 |
Percentage of the requests served within a certain time (ms) 50% 153 66% 154 75% 154 80% 154 90% 155 95% 155 98% 155 99% 155
100% 155 (longest request)
© 2013 NetCracker Technology Corporation Confidential |
31 |
JMeter
http://habrahabr.ru/post/113914/ http://habrahabr.ru/post/126042/ http://habrahabr.ru/post/84190/ http://jmeter.apache.org/usermanual/index.html
© 2013 NetCracker Technology Corporation Confidential |
32 |
Пример 2
•Решение 1
•Разработчики собирали содержание через AJAX, это медленнее чем собрать страницу со стороны сервера
•Тестируйте альтернативные подходы, выбирайте лучший.
•Выбирайте технологии исходя из нужд бизнеса, а не руководствуясь своим резюме, рекламой маркетологов, модой на технологии.
© 2013 NetCracker Technology Corporation Confidential |
33 |
Пример 2
•Проблема 2 – Масштабируемость
•Исследуем
•Запускаем тест на JMeter
‒25 пользователей – среднее время ответа 5 с
‒50 пользователей – среднее время ответа 12 с
•JMeter оба теста загружают ЦП тестового компьютера на 100%
© 2013 NetCracker Technology Corporation Confidential |
34 |
Пример 2
•Гипотеза
•На тестовой машине нагрузка на ЦП 100%, возможно ее создает Jmeter, а не
WebLogic
•Проверяем
•WebLogic забирает около 2% ЦП, много свободных потоков
© 2013 NetCracker Technology Corporation Confidential |
35 |
Пример 2
•Улучшаем
•Запустим Jmeter на нескольких компьютерах, проверим, чтобы на каждом из них он не «кушал» больше 70% ЦП.
•Анализируем
•4 компьютера с JMeter , по 20 потоков на каждый. Среднее время отклика сервера 1.5 секунды. WebLogic кушает всего 5% ЦП
© 2013 NetCracker Technology Corporation Confidential |
36 |
Пример 3
•Решение:
•Проблема заключалась в том, что тестовый кластер не мог создать достаточную нагрузку на сервер и начинал мерять свою собственную производительность. Нужно увеличить число ПК для тестирования.
© 2013 NetCracker Technology Corporation Confidential |
37 |
Полезные инструменты
•Ethereal/Wireshark
•Снифер сетевого трафика
•Можно увидеть, когда были запрос/ответ посланы/приняты
•Firebug + YSlow
•Firefox-плагин для анализа скорости загрузки
© 2013 NetCracker Technology Corporation Confidential |
38 |
Выводы
•Если в системе есть проблемы, они могут быть связаны. А могут иметь разные причины.
•Изучите свой инструмент. Знайте какие у него сферы применения, ограничения, минусы.
•Эффект «консультанта»: сделайте шаг назад и взгляните на проблему свежим взглядом
© 2013 NetCracker Technology Corporation Confidential |
39 |
Пример особенностей инструмента
© 2013 NetCracker Technology Corporation Confidential |
40 |