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




                                  Юлия Рагунович
                               EPAM Systems, Минск
О себе


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

                      2 года в команде
                          оптимизации
                   производительности
                     Thomson Reuters

         Email: Yuliya_Rahunovich@epam.com
                           Skype: yrahunovich




                                                2
Речь пойдѐт


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

          и о проблемах
          производительности (и их
          решении) на практике


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

                 DOS-атаки


                             Тормоза…

                      Нестабильная
                           работа
            Проблемы с
         масштабируемостью


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


     Производительность*
    (Performance, Server-side)

Оптимизация производительности
        *IEEE Standard Glossary of Software Engineering Terminology




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


  время отклика   +      мощность



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




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

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

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

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

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

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

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




              Web        App
    Load     servers   servers
                                      8
Самое слабое звено? Любое

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

            Железо

            Проблемы БД

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

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

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

     Сеть        (LAN, MAN, WAN)

                     App servers

       Соединение
        с backend            Backend
                                   10
Узкие места .Net сервисов*


                      35%
                                  DB Server

                                  App server

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

                                                11
Стабильность .Net сервисов*
 13%
                            Память
6%              60%
                            Сеть

                            Настройка
21%                         Код
          *Из опыта всѐ той же команды EPAM TR
                                          12
Куда имеет смысл смотреть

  Процессор и процессы
  Память
  Дисковая активность
  Сетевой трафик
  Счетчики БД


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




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


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

             6 GB оперативной
             памяти за 40 минут



                                   15
Как решали


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

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

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




                           16
Еще один опыт
       Vusers vs. hits/sec*


                           Users




   Hits/sec



                       *И это без нагрузки….
                                        17
Как искали
Корреляция на БД (Win и SQL Servers 2008)




                                       18
Решение

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

               976700 fix
      http://support.microsoft.com




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




                                               20
Как решали


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

             Проблемы с памятью +
             внутренние ошибки кэша
             + проблемы со splunk



                                  21
Итоги

• Система не устойчивее своего самого слабого
  звена;
• Корень многих проблем в самом приложении;
• Анализ всей системы под нагрузкой –
  ключ к решению любой проблемы.




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

     Вопросы?

                   Юлия Рагунович
      Yuliya.Ragunovich@gmail.com


                              23

More Related Content

PDF
как обеспечить качественное функционирование ит систем для маркетинга и прода...
PDF
Tools to ensure quality of information system
PPTX
DATA CLUSTER
PDF
ЮНИТЕСТ. Нагрузочное тестирование
PPS
DIRECTUM
PDF
владивосток форум Ensemble
PPTX
Разработка средств управления и мониторинга распределенной мультиагентной сис...
PPTX
DATA CLUSTER
как обеспечить качественное функционирование ит систем для маркетинга и прода...
Tools to ensure quality of information system
DATA CLUSTER
ЮНИТЕСТ. Нагрузочное тестирование
DIRECTUM
владивосток форум Ensemble
Разработка средств управления и мониторинга распределенной мультиагентной сис...
DATA CLUSTER

What's hot (14)

PPTX
E23032013 habr
PDF
Дмитрий Буланов "Службы каталога: штатные решения нестандартных задач"
PPTX
20121028 seminar msr_scheduling_michail_rybalkin
PPT
О чем стоит подумать, приступая к разработке высоконагруженных систем
PPT
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
PPT
Управление рабочими станциями. Доставка потоковых приложений. Решения КРОК на...
PPTX
Java Performance
PPTX
Нагрузочное тестирование. С чего начать?
PPTX
VMware VSphere 5.0
PDF
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
ODP
Innodb Scalability And New Features Hl2008 Rus
PPT
SAM за 7 шагов. Рецепт для небольших компаний
PDF
Заоблачная репутация ИТ-департамента
PPTX
Нагрузочное тестирование теория Кожухов
E23032013 habr
Дмитрий Буланов "Службы каталога: штатные решения нестандартных задач"
20121028 seminar msr_scheduling_michail_rybalkin
О чем стоит подумать, приступая к разработке высоконагруженных систем
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Управление рабочими станциями. Доставка потоковых приложений. Решения КРОК на...
Java Performance
Нагрузочное тестирование. С чего начать?
VMware VSphere 5.0
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
Innodb Scalability And New Features Hl2008 Rus
SAM за 7 шагов. Рецепт для небольших компаний
Заоблачная репутация ИТ-департамента
Нагрузочное тестирование теория Кожухов
Ad

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

PPTX
Надежность World of Tanks Server
PDF
R-Style Part
PPTX
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
PPTX
Высокопроизводительные приложения на базе Windows Azure
PDF
Алексей Лавренюк - Организация нагрузочного тестирования
PDF
владивосток форум производительность_ha
PDF
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
PPTX
Стабильны ли ваши приложения в облаках?
PPTX
Req Labs'2011. Коммуникация нефункциональных требований
PPTX
Лучшие практики оптимизации ресурсов виртуального ЦОД
PPTX
Презентация Лучшие практики оптимизации ресурсов виртуального ЦОД
PDF
[jeeconf-2011] Java Platform Performance BoF
PDF
Организация нагрузочного тестирования — Алексей Лавренюк
PPTX
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
PPTX
Оптимизация производительности нагруженных веб-систем на Java
PDF
Мониторинг виртуальной инфраструктуры как залог готовности к облачным технол...
PDF
Highload++ 2015
PPTX
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
PDF
Oracle Application Management and Testing Suites for Siebel CRM
PPTX
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Надежность World of Tanks Server
R-Style Part
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure
Алексей Лавренюк - Организация нагрузочного тестирования
владивосток форум производительность_ha
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
Стабильны ли ваши приложения в облаках?
Req Labs'2011. Коммуникация нефункциональных требований
Лучшие практики оптимизации ресурсов виртуального ЦОД
Презентация Лучшие практики оптимизации ресурсов виртуального ЦОД
[jeeconf-2011] Java Platform Performance BoF
Организация нагрузочного тестирования — Алексей Лавренюк
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Оптимизация производительности нагруженных веб-систем на Java
Мониторинг виртуальной инфраструктуры как залог готовности к облачным технол...
Highload++ 2015
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Oracle Application Management and Testing Suites for Siebel CRM
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Ad

More from SQALab (20)

PDF
Готовим стажировку
PPTX
Куда приводят мечты? или Искусство развития тестировщика
PPT
Оптимизация Selenium тестов и ускорение их поддержки
PPT
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
PPTX
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
PPTX
Continuous performance testing
PDF
Конфиги вместо костылей. Pytestconfig и зачем он нужен
PPT
Команда чемпионов в ИТ стихии
PPTX
API. Серебряная пуля в магазине советов
PPTX
Добиваемся эффективности каждого из 9000+ UI-тестов
PPT
Делаем автоматизацию проектных KPIs
PDF
Вредные привычки в тест-менеджменте
PPTX
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPTX
Стили лидерства и тестирование
PPT
"Давайте не будем про качество"
PDF
Apache.JMeter для .NET-проектов
PPTX
Тестирование геолокационных систем
PPTX
Лидер или босс? Вот в чем вопрос
PPTX
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Готовим стажировку
Куда приводят мечты? или Искусство развития тестировщика
Оптимизация Selenium тестов и ускорение их поддержки
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Continuous performance testing
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Команда чемпионов в ИТ стихии
API. Серебряная пуля в магазине советов
Добиваемся эффективности каждого из 9000+ UI-тестов
Делаем автоматизацию проектных KPIs
Вредные привычки в тест-менеджменте
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Стили лидерства и тестирование
"Давайте не будем про качество"
Apache.JMeter для .NET-проектов
Тестирование геолокационных систем
Лидер или босс? Вот в чем вопрос
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...

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

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