Узкие места производительности веб-приложений, или...

23
Узкие места производительности веб-приложений или куда смотреть, чтобы ничего не пропустить Юлия Рагунович EPAM Systems, Минск

Upload: sqalab

Post on 09-Jul-2015

896 views

Category:

Education


0 download

DESCRIPTION

SQA Days 11. День 2. Cекция B Юлия РагуновичEPAM SystemsМинск, Беларусь

TRANSCRIPT

Page 1: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Узкие места производительности

веб-приложенийили куда смотреть, чтобы ничего не пропустить

Юлия Рагунович

EPAM Systems, Минск

Page 2: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

О себе

Системный аналитик

в EPAM Systems

Email: [email protected]: yrahunovich

2 года в команде

оптимизации

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

Thomson Reuters

2

Page 3: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Речь пойдѐт

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

теории

и о проблемах

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

решении) на практике

3

Page 4: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Зачем всѐ это?

DOS-атаки

Нестабильная

работаПроблемы с

масштабируемостью

Тормоза…

4

Page 5: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Производительность*

(Performance, Server-side)

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

Оптимизация производительности

*IEEE Standard Glossary of Software Engineering Terminology

5

Page 6: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

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

+

++

время отклика

стабильность масштабируемость

мощность

+

6

Page 7: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

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

Объекты анализа

Времена отклика

Пропускная способность

Уровень нагрузки

Использование ресурсов

7

Page 8: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Система под нагрузкой

Users

LoadWeb

servers

LBDB

App servers

8

Page 9: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Неидеальный код

Железо

Проблемы БД

Сервер приложения

Сеть и конфигурация

9

Самое слабое звено? Любое

Page 10: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Узкие места

Сеть

App servers

(LAN, MAN, WAN)

Соединение

с backend Backend

Удаленные пользователи

10

Page 11: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Узкие места .Net сервисов*

35%

65%

DB Server

App server

*Опыт команды оптимизации производительности EPAM TR

11

Page 12: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Стабильность .Net сервисов*

60%

21%

6%

13%Память

Сеть

Настройка

Код

*Из опыта всѐ той же команды EPAM TR

12

Page 13: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Куда имеет смысл смотреть

Процессор и процессы

Память

Дисковая активность

Сетевой трафик

Счетчики БД

13

Page 14: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Наш опыт

40 минут под нагрузкой и система перестает отвечать

14

Page 15: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Расход топлива

6 GB оперативной

памяти за 40 минут

Логирование на сервере

приложения “съедало” ...

15

Page 16: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Как решали

• Неблокирующая очередь

• Сокращение данных

• Асинхронная запись

16

Page 17: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Еще один опыт

*И это без нагрузки….

Hits/sec

Users

Vusers vs. hits/sec*

17

Page 18: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Как искали

Корреляция на БД (Win и SQL Servers 2008)

18

Page 19: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Решение

976700 fix http://support.microsoft.com

Для БД = Win Server 2008 R2 + SQL Server 2008

19

Page 20: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Когда кэш не во благоЗа 3 часа группа пользователей «съела» 4 GB памяти…

20

Page 21: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Как решали

Разделяй и властвуй -

Проблемы с памятью +

внутренние ошибки кэша

+ проблемы со splunk

21

Page 22: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Итоги

• Система не устойчивее своего самого слабого

звена;

• Корень многих проблем в самом приложении;

• Анализ всей системы под нагрузкой –

ключ к решению любой проблемы.

22

Page 23: Узкие места производительности веб-приложений, или куда смотреть, чтобы ничего не пропустить

Спасибо за внимание!

Юлия Рагунович

[email protected]

Вопросы?

23