Ерлан Аманбаев "Лунапарк. Теория и практика"
DESCRIPTION
15 октября 2011, Я.Субботник в Алматы Ерлан Аманбаев "Лунапарк. Теория и практика" О докладе: Лунапарк. Инструмент, фреймворк и просто хороший друг нагрузочного тестировщика в Яндексе. Вы узнаете о его основных «фишках», ограничениях и способах их обхода. Рассказ пойдет о том, как стреляют танкисты в Яндексе. За какими метриками полезно наблюдать во время теста и о возможностях анализа результатов предоставляемых лунапарком.TRANSCRIPT
Лунапарк. Теория и практика
Аманбаев Ерлан Инженер отдела нагрузочного тестирования
Я.Субботник, Алматы, 15 октября 2011 года
3
Лунапарк модульный
4
Обвязка делает всё что возможно до стрельбы
Пушка по возможности только стреляет
Обвязка обрабатывает результаты и строит отчет После стрельбы
5
Легкий web-сервер phantom
6
Phantom научился задавать вопросы
7
Популярность Простота
8
Большое количество запросов
Популярность Простота
Простые сценарии поведения
9
Большое количество запросов
Популярность Простота
Простые сценарии поведения
Статистический подход
10
+ Проще разработка тестов
+ Инструмент существенно быстрее
- Есть ограничения
Статистический подход
11
Сценарный подход
Thread 1 Thread 3 Thread 2
Завяжи её бантом
Возьми ленту Возьми кошку
Полей ею цветок Поиграй с ней
Очередь запросов: Очередь запросов: Очередь запросов:
Возьми воду
12
Сценарный подход
Thread 1 Thread 3 Thread 2
Завяжи её бантом
Возьми ленту Возьми кошку
Полей ею цветок Поиграй с ней
Очередь запросов: Очередь запросов: Очередь запросов:
Возьми воду
Взял кошку
13
Сценарный подход
Thread 1 Thread 3 Thread 2
Завяжи её бантом
Возьми ленту Возьми кошку
Полей ею цветок Поиграй с ней
Очередь запросов Очередь запросов
Очередь запросов
Возьми воду
Взял воду Взял ленту Взял кошку
14
Статистический подход
Thread 1 Thread 3 Thread 2
Завяжи её бантом
Возьми ленту
Возьми воду
Возьми кошку
Полей ею цветок
Поиграй с ней
Общая очередь запросов
15
Статистический подход
Thread 1 Thread 3 Thread 2
Завяжи её бантом
Возьми ленту
Возьми воду Возьми кошку
Полей ею цветок
Поиграй с ней
Общая очередь запросов
Взял кошку
16
Статистический подход
Thread 1 Thread 3 Thread 2
Завяжи её бантом
Возьми ленту
Возьми воду Возьми кошку
Полей ею цветок
Поиграй с ней
Общая очередь запросов
Взял кошку
17
Взял ленту Взял воду
Статистический подход
18
Меньше логики в пушке
Быстрее
Stateless протоколы
19
Быстрый web-сервер phantom
20
Тестовый стенд
24 танка
32 мишени
+ проектных стенда
21
Виртуализация
22
Ёмкость тестового кластера
Лёгкая возможность повторить тест
танк
мишень
shaper
DELAY
NORMAL
DROP
23
25
Линейная нагрузка
26
Постоянная нагрузка
27
Ступенчатая нагрузка
28
29
Линейная нагрузка
Постоянная нагрузка
Нагрузка ступенькой
30
Страница лунапарка во время стрельбы
31
90%
квантиль
32
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0
0.1
0.2
0.3
0.4
0.5
0.6
f
g
Одинаковые среднее и дисперсия
33
Консоль лунапарка во время стрельбы
34
Консоль лунапарка во время стрельбы
35
Консоль лунапарка во время стрельбы
36
Консоль лунапарка во время стрельбы
37
Консоль лунапарка во время стрельбы
38
Консоль лунапарка во время стрельбы
[autostop = http(4xx,25%,10)] – остановка по относительному количеству http ошибок
[autostop = net(xx,25,15)] – остановка по абсолютному количеству сетевых ошибок
autostop = time(1500,15) – остановка по среднему времени ответа
39
Условное завершение стрельбы (Автостоп)
40
Отчет лунапарка
41
42
Сравнение тестов
43
«Yeah, well… I’m gonna go build my own theme park,
with blackjack and hookers. In fact, forget the park!»
Bender, Futurama
44
Лунапарк