Узкие места производительности веб-приложений, или...
DESCRIPTION
SQA Days 11. День 2. Cекция B Юлия РагуновичEPAM SystemsМинск, БеларусьTRANSCRIPT
Узкие места производительности
веб-приложенийили куда смотреть, чтобы ничего не пропустить
Юлия Рагунович
EPAM Systems, Минск
О себе
Системный аналитик
в EPAM Systems
Email: [email protected]: yrahunovich
2 года в команде
оптимизации
производительности
Thomson Reuters
2
Речь пойдѐт
о производительности в
теории
и о проблемах
производительности (и их
решении) на практике
3
Зачем всѐ это?
DOS-атаки
Нестабильная
работаПроблемы с
масштабируемостью
Тормоза…
4
Производительность*
(Performance, Server-side)
Производительность
Оптимизация производительности
*IEEE Standard Glossary of Software Engineering Terminology
5
Производительность
+
++
время отклика
стабильность масштабируемость
мощность
+
6
Тестирование производительности
Объекты анализа
Времена отклика
Пропускная способность
Уровень нагрузки
Использование ресурсов
7
Система под нагрузкой
Users
LoadWeb
servers
LBDB
App servers
8
Неидеальный код
Железо
Проблемы БД
Сервер приложения
Сеть и конфигурация
9
Самое слабое звено? Любое
Узкие места
Сеть
App servers
(LAN, MAN, WAN)
Соединение
с backend Backend
Удаленные пользователи
10
Узкие места .Net сервисов*
35%
65%
DB Server
App server
*Опыт команды оптимизации производительности EPAM TR
11
Стабильность .Net сервисов*
60%
21%
6%
13%Память
Сеть
Настройка
Код
*Из опыта всѐ той же команды EPAM TR
12
Куда имеет смысл смотреть
Процессор и процессы
Память
Дисковая активность
Сетевой трафик
Счетчики БД
13
Наш опыт
40 минут под нагрузкой и система перестает отвечать
14
Расход топлива
6 GB оперативной
памяти за 40 минут
Логирование на сервере
приложения “съедало” ...
15
Как решали
• Неблокирующая очередь
• Сокращение данных
• Асинхронная запись
16
Еще один опыт
*И это без нагрузки….
Hits/sec
Users
Vusers vs. hits/sec*
17
Как искали
Корреляция на БД (Win и SQL Servers 2008)
18
Решение
976700 fix http://support.microsoft.com
Для БД = Win Server 2008 R2 + SQL Server 2008
19
Когда кэш не во благоЗа 3 часа группа пользователей «съела» 4 GB памяти…
20
Как решали
Разделяй и властвуй -
Проблемы с памятью +
внутренние ошибки кэша
+ проблемы со splunk
21
Итоги
• Система не устойчивее своего самого слабого
звена;
• Корень многих проблем в самом приложении;
• Анализ всей системы под нагрузкой –
ключ к решению любой проблемы.
22