7. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
7
8. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
8
$ ab -c2 -n100 -g ab_tankapi.tsv http://127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
Server Port: 8083
Document Path: /api/v1/tank/status.json
Document Length: 442 bytes
Concurrency Level: 2
Time taken for tests: 3.804 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 56600 bytes
HTML transferred: 44200 bytes
Requests per second: 26.29 [#/sec] (mean)
Time per request: 76.086 [ms] (mean)
Time per request: 38.043 [ms] (mean, across all concurrent requests)
Transfer rate: 14.53 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 70 76 6.7 74 128
Waiting: 69 75 6.8 74 128
Total: 70 76 6.8 74 128
Percentage of the requests served within a certain time (ms)
50% 74
66% 75
75% 76
80% 76
90% 81
95% 85
98% 95
99% 128
100% 128 (longest request)
9. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
9
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
10. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
10
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
# Let's output to a jpeg file
set terminal jpeg size 500,500
# This sets the aspect ratio of the graph
set size 1, 1
# The file we'll write to
set output "graphs/timeseries.jpg"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
# Specify that the x-series data is time data
set xdata time
# Specify the *input* format of the time data
set timefmt "%s"
# Specify the *output* format for the x-axis tick labels
set format x "%S"
# Label the x-axis
set xlabel 'seconds'
11. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
11
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
# Let's output to a jpeg file
set terminal jpeg size 500,500
# This sets the aspect ratio of the graph
set size 1, 1
# The file we'll write to
set output "graphs/timeseries.jpg"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
12. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
12
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
# Let's output to a jpeg file
set terminal jpeg size 500,500
# This sets the aspect ratio of the graph
set size 1, 1
# The file we'll write to
set output "graphs/timeseries.jpg"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
13. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
13
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
# Let's output to a jpeg file
set terminal jpeg size 500,500
# This sets the aspect ratio of the graph
set size 1, 1
# The file we'll write to
set output "graphs/timeseries.jpg"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
ab -c5 -n100 -g ab_tankapi.tsv http://127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
Server Port: 8083
Document Path: /api/v1/tank/status.json
Document Length: 442 bytes
Concurrency Level: 5
Time taken for tests: 3.944 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 56600 bytes
HTML transferred: 44200 bytes
Requests per second: 25.35 [#/sec] (mean)
14. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
14
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
# Let's output to a jpeg file
set terminal jpeg size 500,500
# This sets the aspect ratio of the graph
set size 1, 1
# The file we'll write to
set output "graphs/timeseries.jpg"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
ab -c5 -n100 -g ab_tankapi.tsv http://127.0.0.1:8083/
api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
Server Port: 8083
ab -c10 -n100 -g ab_tankapi.tsv http://127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)...apr_socket_recv: Connection reset by peer (54)
Total of 28 requests completed
15. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
15
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
# Let's output to a jpeg file
set terminal jpeg size 500,500
# This sets the aspect ratio of the graph
set size 1, 1
# The file we'll write to
set output "graphs/timeseries.jpg"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
ab -c5 -n100 -g ab_tankapi.tsv http://127.0.0.1:8083/
api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
Server Port: 8083
ab -c10 -n100 -g ab_tankapi.tsv http://127.0.0.1:8083/
api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://
www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient)...apr_socket_recv:
Connection reset by peer (54)
Total of 28 requests completed
16. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
16
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
# Let's output to a jpeg file
set terminal jpeg size 500,500
# This sets the aspect ratio of the graph
set size 1, 1
# The file we'll write to
set output "graphs/timeseries.jpg"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
ab -c5 -n100 -g ab_tankapi.tsv http://127.0.0.1:8083/
api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
ab -c10 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be
patient)...apr_socket_recv: Connection reset by peer
(54)
Total of 28 requests completed
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
0 0 99 0 0 0| 0 0 | 893B 2253B| 0 0 |1712 3190
0 1 99 0 0 0| 0 34k|1384B 4284B| 0 0 |2717 3633
0 0 99 0 0 0| 0 0 | 735B 2084B| 0 0 |1877 3210
0 1 99 0 0 0| 0 0 |1742B 5421B| 0 0 |2141 3616
0 0 99 0 0 0| 0 0 | 907B 4973B| 0 0 |2300 3287
0 0 99 0 0 0| 0 0 |1714B 3955B| 0 0 |2233 3496
1 1 99 0 0 0| 0 195k|4732B 9904B| 0 0 |2730 4209
0 0 99 0 0 0| 0 195k|1741B 4121B| 0 0 |1659 3587
0 1 99 0 0 0| 0 0 |2226B 4332B| 0 0 |2990 3454
0 0 99 0 0 0| 0 0 | 833B 3433B| 0 0 |1486 3195
0 1 99 0 0 0| 0 0 |1700B 4144B| 0 0 |3609 3482
0 1 99 0 0 0| 0 153k|1263B 5151B| 0 0 |2064 3422
0 0 99 0 0 0| 0 1024B|1028B 2170B| 0 0 |1722 3372
17. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
17
$ ab -c2 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
# Let's output to a jpeg file
set terminal jpeg size 500,500
# This sets the aspect ratio of the graph
set size 1, 1
# The file we'll write to
set output "graphs/timeseries.jpg"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
ab -c5 -n100 -g ab_tankapi.tsv http://127.0.0.1:8083/
api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be patient).....done
Server Software: BaseHTTP/0.3
Server Hostname: 127.0.0.1
ab -c10 -n100 -g ab_tankapi.tsv http://
127.0.0.1:8083/api/v1/tank/status.json
This is ApacheBench, Version 2.3 <$Revision: 1757674
$>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://
www.apache.org/
Benchmarking 127.0.0.1 (be
patient)...apr_socket_recv: Connection reset by peer
(54)
Total of 28 requests completed
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
0 0 99 0 0 0| 0 0 | 893B 2253B| 0 0 |1712 3190
0 1 99 0 0 0| 0 34k|1384B 4284B| 0 0 |2717 3633
0 0 99 0 0 0| 0 0 | 735B 2084B| 0 0 |1877 3210
0 1 99 0 0 0| 0 0 |1742B 5421B| 0 0 |2141 3616
0 0 99 0 0 0| 0 0 | 907B 4973B| 0 0 |2300 3287
0 0 99 0 0 0| 0 0 |1714B 3955B| 0 0 |2233 3496
1 1 99 0 0 0| 0 195k|4732B 9904B| 0 0 |2730 4209
0 0 99 0 0 0| 0 195k|1741B 4121B| 0 0 |1659 3587
0 1 99 0 0 0| 0 0 |2226B 4332B| 0 0 |2990 3454
0 0 99 0 0 0| 0 0 | 833B 3433B| 0 0 |1486 3195
0 1 99 0 0 0| 0 0 |1700B 4144B| 0 0 |3609 3482
0 1 99 0 0 0| 0 153k|1263B 5151B| 0 0 |2064 3422
0 0 99 0 0 0| 0 1024B|1028B 2170B| 0 0 |1722 3372
18. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
18
20. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Любой профиль нагрузки
20
0
55
110
165
220
16:30:00 16:30:05 16:30:10 16:30:15
21. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Любой профиль нагрузки
21
0
55
110
165
220
16:30:00 16:30:05 16:30:10 16:30:15
0
55
110
165
220
16:30:00 16:30:12 16:30:22 16:30:32
22. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Любой профиль нагрузки
22
0
55
110
165
220
16:30:00 16:30:05 16:30:10 16:30:15
0
55
110
165
220
16:30:00 16:30:12 16:30:22 16:30:32
23. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
23
24. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
24
25. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
25
26. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
26
27. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
27
28. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Автостопы
28
29. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Мониторинг
29
30. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Мониторинг
30
31. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Легко автоматизировать
31
32. › Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Легко расширять
32