SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Быстро поднятое не считается упавшим
2
Быстро поднятое не считается упавшим
3
Быстро поднятое не считается упавшим
4
Быстро поднятое не считается упавшим
5
Нагрузочное
тестирование
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
7
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Задачи:
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
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
$ 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
Яндекс.Танк
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Любой профиль нагрузки
20
0
55
110
165
220
16:30:00 16:30:05 16:30:10 16:30:15
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Любой профиль нагрузки
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
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
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
23
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
24
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
25
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
26
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
overload.yandex.net
27
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Автостопы
28
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Мониторинг
29
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Мониторинг
30
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Легко автоматизировать
31
› Сгенерировать нагрузку
› Проанализировать данные
› Найти предел
› Найти узкие места
› Включить процесс в релизный цикл
Легко расширять
32
https://overload.yandex.net/links
Все ссылки в одном месте:
fomars@yandex-team.ru
Арсений Фомченко
Разработчик

Weitere ähnliche Inhalte

Was ist angesagt?

Управление большим количеством физических серверов, Александр Берсенев, Инст...
 Управление большим количеством физических серверов, Александр Берсенев, Инст... Управление большим количеством физических серверов, Александр Берсенев, Инст...
Управление большим количеством физических серверов, Александр Берсенев, Инст...
it-people
 
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Tanya Denisyuk
 
Nginx Igor Sysoev
Nginx   Igor SysoevNginx   Igor Sysoev
Nginx Igor Sysoev
Media Gorod
 
aptly: система управления репозиториями пакетов (РИТ-2014)
aptly: система управления репозиториями пакетов (РИТ-2014)aptly: система управления репозиториями пакетов (РИТ-2014)
aptly: система управления репозиториями пакетов (РИТ-2014)
Andrey Smirnov
 
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (..."Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
AvitoTech
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
Nikita Borzykh
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами
Yandex
 
PHP 5.4: Что нового?
PHP 5.4: Что нового?PHP 5.4: Что нового?
PHP 5.4: Что нового?
phpdevby
 

Was ist angesagt? (20)

Управление большим количеством физических серверов, Александр Берсенев, Инст...
 Управление большим количеством физических серверов, Александр Берсенев, Инст... Управление большим количеством физических серверов, Александр Берсенев, Инст...
Управление большим количеством физических серверов, Александр Берсенев, Инст...
 
JPoint 2017 - Where is my service, dude?
JPoint 2017 - Where is my service, dude?JPoint 2017 - Where is my service, dude?
JPoint 2017 - Where is my service, dude?
 
Bazhin 1 zal
Bazhin 1 zal Bazhin 1 zal
Bazhin 1 zal
 
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
 
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан КупреевCRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
 
PostgreSQL Streaming Replication
PostgreSQL Streaming ReplicationPostgreSQL Streaming Replication
PostgreSQL Streaming Replication
 
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
Nginx Igor Sysoev
Nginx   Igor SysoevNginx   Igor Sysoev
Nginx Igor Sysoev
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
 
Обзор Redis storage / Symfony Camp UA 2011
Обзор Redis storage / Symfony Camp UA 2011Обзор Redis storage / Symfony Camp UA 2011
Обзор Redis storage / Symfony Camp UA 2011
 
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковОпенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
 
Java black box profiling
Java black box profilingJava black box profiling
Java black box profiling
 
Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2
 
aptly: система управления репозиториями пакетов (РИТ-2014)
aptly: система управления репозиториями пакетов (РИТ-2014)aptly: система управления репозиториями пакетов (РИТ-2014)
aptly: система управления репозиториями пакетов (РИТ-2014)
 
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (..."Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
 
ZooKeeper Java Cloud
ZooKeeper Java CloudZooKeeper Java Cloud
ZooKeeper Java Cloud
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами
 
PHP 5.4: Что нового?
PHP 5.4: Что нового?PHP 5.4: Что нового?
PHP 5.4: Что нового?
 

Ähnlich wie Yandex Tank - Арсений Фомченко

Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Vadim Kruchkov
 
Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎
mayperl
 
Построение аналитического хранилища на 100 петабайт
Построение аналитического хранилища на 100 петабайтПостроение аналитического хранилища на 100 петабайт
Построение аналитического хранилища на 100 петабайт
Alexander Mazurov
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
Ontico
 
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
rit2011
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
rit2011
 
«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42
DevDay
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
Andrey Rebrov
 
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
rit2011
 

Ähnlich wie Yandex Tank - Арсений Фомченко (20)

Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Олесь Писаренко "Открываем Яндекс.Танк"
Олесь Писаренко "Открываем Яндекс.Танк"Олесь Писаренко "Открываем Яндекс.Танк"
Олесь Писаренко "Открываем Яндекс.Танк"
 
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
 
Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎
 
Vsevolod Rodionov "Neural networks in js"
Vsevolod Rodionov "Neural networks in js"Vsevolod Rodionov "Neural networks in js"
Vsevolod Rodionov "Neural networks in js"
 
Нейронные сети на JS
Нейронные сети на JSНейронные сети на JS
Нейронные сети на JS
 
JavaDay'14
JavaDay'14JavaDay'14
JavaDay'14
 
Построение аналитического хранилища на 100 петабайт
Построение аналитического хранилища на 100 петабайтПостроение аналитического хранилища на 100 петабайт
Построение аналитического хранилища на 100 петабайт
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
 
PowerShell
PowerShellPowerShell
PowerShell
 
Тестируем производительность распределённых систем, Александр Киров (Parallels)
Тестируем производительность распределённых систем, Александр Киров (Parallels)Тестируем производительность распределённых систем, Александр Киров (Parallels)
Тестируем производительность распределённых систем, Александр Киров (Parallels)
 
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
 
МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2
 
«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Erlang tasty & useful stuff
Erlang tasty & useful stuffErlang tasty & useful stuff
Erlang tasty & useful stuff
 
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон Галицын
 

Mehr von AvitoTech

Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
AvitoTech
 

Mehr von AvitoTech (20)

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
 
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий Богомолов
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим Соколов
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей Охрименко
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
 
Конкурс Авито-2017 - Решение 3ое место
Конкурс Авито-2017 - Решение 3ое местоКонкурс Авито-2017 - Решение 3ое место
Конкурс Авито-2017 - Решение 3ое место
 

Yandex Tank - Арсений Фомченко

  • 1.
  • 2. Быстро поднятое не считается упавшим 2
  • 3. Быстро поднятое не считается упавшим 3
  • 4. Быстро поднятое не считается упавшим 4
  • 5. Быстро поднятое не считается упавшим 5
  • 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
  • 33. https://overload.yandex.net/links Все ссылки в одном месте: fomars@yandex-team.ru Арсений Фомченко Разработчик