Нагрузочное тестирование сайтов

31
Особенности тестирования Особенности тестирования веб-сайтов и систем веб-сайтов и систем , , работающих под высокой работающих под высокой нагрузкой нагрузкой

Upload: magecloud

Post on 16-Jun-2015

3.607 views

Category:

Documents


0 download

DESCRIPTION

Сдавая веб-сервер в повседневную эксплуатацию, нужно быть уверенным, что он выдержит планируемую нагрузку. Как понять, что код написанный разработчиками выдержит запланированный наплыв посетителей? И что важнее, как понять какой при этом будет запас мощности?Необходимо провести тест производительности сайта, чтобы выявить потенциально узкие места и наметить планы по их рефакторингу. Рассмотрим методологию тестирования.

TRANSCRIPT

Page 1: Нагрузочное тестирование сайтов

Особенности тестирования Особенности тестирования веб-сайтов и системвеб-сайтов и систем,,

работающих под высокой работающих под высокой нагрузкойнагрузкой

Page 2: Нагрузочное тестирование сайтов

Модули тестированияМодули тестирования

Тест производительности

Нагрузочный тест(load-test)

Тест устойчивости(stress-test)

Объемный тестбазы данных

Page 3: Нагрузочное тестирование сайтов

Этапы тестированияЭтапы тестирования

Разработка моделей нагрузок и Разработка моделей нагрузок и проектирование тестовых сценариев. проектирование тестовых сценариев.

Разработка и отладка тестовых Разработка и отладка тестовых скриптов. скриптов.

Подготовка тестового набора базы Подготовка тестового набора базы данных.данных.

Организация и проведение нагрузочных Организация и проведение нагрузочных тестов.тестов.

Проведение анализа результатов Проведение анализа результатов тестирования.тестирования.

Page 4: Нагрузочное тестирование сайтов

Простое тестированиеПростое тестирование

Клиент

Веб-сервер

Page 5: Нагрузочное тестирование сайтов

Распределенное Распределенное тестированиетестирование

Хост-компьютер

Клиент 1 Клиент 2 … Клиент N

Веб-сервер

Page 6: Нагрузочное тестирование сайтов

Результаты, отчеты, Результаты, отчеты, графикиграфики

- время загрузки страниц- время загрузки страниц - время построения страниц- время построения страниц - загрузка процессора- загрузка процессора - количество обработанных - количество обработанных

запросов в единицу времени запросов в единицу времени - процент ошибок- процент ошибок

Page 7: Нагрузочное тестирование сайтов

ЗаключениеЗаключение Наиболее эффективными при тестировании Наиболее эффективными при тестировании

высокопроизводительных серверов являются высокопроизводительных серверов являются решения, основанные на применении решения, основанные на применении распределенных системраспределенных систем. Рассмотренные . Рассмотренные системы различаются по сложности логики системы различаются по сложности логики взаимодействия виртуальных пользователей взаимодействия виртуальных пользователей с тестируемым сервером, поэтому при с тестируемым сервером, поэтому при выборе инструмента для измерения выборе инструмента для измерения производительности в первую очередь производительности в первую очередь необходимо учитывать масштаб и структуру необходимо учитывать масштаб и структуру тестируемой системы, а также тестируемой системы, а также предварительно оценивать интенсивность предварительно оценивать интенсивность нагрузки.нагрузки.

Page 8: Нагрузочное тестирование сайтов

Перейдем к практикеПерейдем к практике

Локальные системы:Локальные системы: ApacheBenchApacheBench WAPT HP LoadRunner – – страшный зверьстрашный зверь

Онлайновые системыОнлайновые системы:: Load ImpactLoad Impact   LoadStormLoadStorm BrowserMob

Page 9: Нагрузочное тестирование сайтов

ApacheBenchApacheBench$ $ ab -c 100 -t 30 -n 10000 -k ab -c 100 -t 30 -n 10000 -k http://neulexa.com/

Concurrency Level: 100Concurrency Level: 100Time taken for tests: 30.033 secondsTime taken for tests: 30.033 secondsComplete requests: 6912Complete requests: 6912Failed requests: 0Failed requests: 0Write errors: 0Write errors: 0Keep-Alive requests: 0Keep-Alive requests: 0Total transferred: 5840304 bytesTotal transferred: 5840304 bytesHTML transferred: 4018240 bytesHTML transferred: 4018240 bytesRequests per second: 230.14 [#/sec] (mean)Requests per second: 230.14 [#/sec] (mean)Time per request: 434.511 [ms] (mean)Time per request: 434.511 [ms] (mean)Time per request: 4.345 [ms] (mean, across all concurrent requests)Time per request: 4.345 [ms] (mean, across all concurrent requests)Transfer rate: 189.90 [Kbytes/sec] receivedTransfer rate: 189.90 [Kbytes/sec] received

Connection Times (ms)Connection Times (ms) min mean[+/-sd] median maxmin mean[+/-sd] median maxConnect: 136 188 200.4 175 3579Connect: 136 188 200.4 175 3579Processing: 137 242 171.6 200 5425Processing: 137 242 171.6 200 5425Waiting: 137 218 162.1 175 5399Waiting: 137 218 162.1 175 5399Total: 274 431 267.6 376 5602Total: 274 431 267.6 376 5602

Percentage of the requests served within a certain time (ms)Percentage of the requests served within a certain time (ms) 50% 37650% 376 66% 39966% 399 75% 40375% 403 80% 42380% 423 90% 55290% 552 95% 74695% 746 98% 94898% 948 99% 117399% 1173 100% 5602 (longest request)100% 5602 (longest request)

Page 10: Нагрузочное тестирование сайтов

WAPTWAPT

Page 11: Нагрузочное тестирование сайтов

HP LoadRunnerHP LoadRunner

Page 12: Нагрузочное тестирование сайтов

HP LoadRunnerHP LoadRunner

Page 13: Нагрузочное тестирование сайтов

WAPTWAPT - цены - цены

Page 14: Нагрузочное тестирование сайтов

LoadImpactLoadImpact

Page 15: Нагрузочное тестирование сайтов

LoadImpactLoadImpact

Page 16: Нагрузочное тестирование сайтов

LoadImpactLoadImpact

Более детальные настройкиБолее детальные настройки

доступны после регистрациидоступны после регистрации

Page 17: Нагрузочное тестирование сайтов

LoadImpactLoadImpact - - результатырезультаты

Page 18: Нагрузочное тестирование сайтов

LoadImpactLoadImpact - - результатырезультаты

Page 19: Нагрузочное тестирование сайтов

LoadStormLoadStorm

Page 20: Нагрузочное тестирование сайтов

LoadStormLoadStorm

Page 21: Нагрузочное тестирование сайтов

LoadStormLoadStormНастройки теста

Page 22: Нагрузочное тестирование сайтов

LoadStormLoadStorm

Page 23: Нагрузочное тестирование сайтов

BrowserMobBrowserMob

Page 24: Нагрузочное тестирование сайтов

BrowserMobBrowserMob

Page 25: Нагрузочное тестирование сайтов

BrowserMobBrowserMob

Page 26: Нагрузочное тестирование сайтов

BrowserMobBrowserMob

Page 27: Нагрузочное тестирование сайтов

BrowserMobBrowserMob

Page 28: Нагрузочное тестирование сайтов

BrowserMobBrowserMob

Page 29: Нагрузочное тестирование сайтов

BrowserMobBrowserMob

Page 30: Нагрузочное тестирование сайтов

ЦеныЦены

Page 31: Нагрузочное тестирование сайтов

СсылкиСсылки

http://ashirobokov.blogspot.com/ - - ППрактические вопросы рактические вопросы нагрузочного тестированиянагрузочного тестирования

http://://habrahabrhabrahabr..ruru//blogsblogs//hihi/77593//77593/ - - Нагрузочное тестирование «по-Нагрузочное тестирование «по-быстренькому»быстренькому»