Upload
ivanlysenko
View
1.698
Download
4
Embed Size (px)
Citation preview
L/O/G/Owww.themegallery.com
Performance Testing with Apache JMeter
Ivan Lysenko
Немного обо мне
Иван Лысенко
QA / PO / PM
http://myqanotes.blogspot.com
Load & Performance
• Тестирование производительноститестирование, которое проводится с целью определения, как быстро работает система или её часть под определённой нагрузкой. Также может служить для проверки и подтверждения других атрибутов качества системы, таких как масштабируемость, надёжность и потребление ресурсов.
• Нагрузочное тестированиетестирование, которое проводится с целью определения, как система реагирует на изменение нагрузки
Что мерить?
Отвечаем• время отклика сервера• загрузку процессора• использование памяти
сервера
Что мерить?
Клиент
4. Обращайте внимание на работу и самого клиента
Интернет трафик
5. Не забывайте, что пропускная способность канал также может быть узким местом
Время отклика
1. Насколько быстро ваш сервер обрабатывает
запросы
Железо сервера
2. Необходимо следить за
использованием памяти и процессора всеми компонентами
системы
Отказы
3. Могут быть как ожидаемыми так и еще
одним флагом к остановке теста
Снимайте и сохраняйте все, что можете. Это поможет вам в дальнейшем при анализе проблем
Как мерить?
http://jakarta.apache.org/jmeter/• универсальный• бесплатный
Samplers
Samplers
• FTP Request• HTTP Request• JDBC Request• Java object request• LDAP Request• SOAP/XML-RPC Request• WebService (SOAP) Request
http://jakarta.apache.org/jmeter/usermanual/test_plan.html#samplers
Запись
1. Добавляем ThreadGroup
http://jakarta.apache.org/jmeter/usermanual/jmeter_proxy_step_by_step.pdf
2. Добавляем HTTP Proxy Server
3. Запускаем сервер и записываем сценарий
Создание тестов
Переменные
• User Defined Variables– Host– Port– UserName prefix
• CSV Data Source
Переменные
• User Defined Variables• CSV Data Source
– Filename– Variable names– Delimiter– Allow quoted data– Recycle on EOF?– Stop thread on EOF?– Sharing mode
Запуск тестов
Запуск тестовThreadGroup
• Number of Threads• Ramp-up period• Loop count• Scheduler
Hints
• Не используйте UI при запуске
• Не запускайте 1000 потоков если у вас нет 4х ядер
• Принимайте во внимание риски удаленных запусков
• Лучше всего нагружать production сервера
• Собирайте максимум информации
• Сохраняйте меньше логов JMeter
Как использовать показания
• Логи можно загружать в Listner контроллеры• Используйте другие инструменты для
построения графиков• Сравнивайте результаты многих параметров• Запуск на малом объеме с использованием
расширенного логирования