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




                                  Юлия Рагунович
                               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

What's hot

E23032013 habr
E23032013 habrE23032013 habr
E23032013 habr
Dmitry Bulanov
 
Дмитрий Буланов "Службы каталога: штатные решения нестандартных задач"
Дмитрий Буланов "Службы каталога: штатные решения нестандартных задач"Дмитрий Буланов "Службы каталога: штатные решения нестандартных задач"
Дмитрий Буланов "Службы каталога: штатные решения нестандартных задач"Dmitry Savchenko
 
20121028 seminar msr_scheduling_michail_rybalkin
20121028 seminar msr_scheduling_michail_rybalkin20121028 seminar msr_scheduling_michail_rybalkin
20121028 seminar msr_scheduling_michail_rybalkinComputer Science Club
 
О чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных системО чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных систем
Artem Volftrub
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...CodeFest
 
Управление рабочими станциями. Доставка потоковых приложений. Решения КРОК на...
Управление рабочими станциями. Доставка потоковых приложений. Решения КРОК на...Управление рабочими станциями. Доставка потоковых приложений. Решения КРОК на...
Управление рабочими станциями. Доставка потоковых приложений. Решения КРОК на...
КРОК
 
Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?
OdessaQA
 
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
Айдар Гилязов
 
Innodb Scalability And New Features Hl2008 Rus
Innodb Scalability And New Features Hl2008 RusInnodb Scalability And New Features Hl2008 Rus
Innodb Scalability And New Features Hl2008 RusOntico
 
SAM за 7 шагов. Рецепт для небольших компаний
SAM за 7 шагов. Рецепт для небольших компанийSAM за 7 шагов. Рецепт для небольших компаний
SAM за 7 шагов. Рецепт для небольших компаний
Cleverics
 
Заоблачная репутация ИТ-департамента
Заоблачная репутация ИТ-департаментаЗаоблачная репутация ИТ-департамента
Заоблачная репутация ИТ-департамента
КРОК
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховИлья Кожухов
 

What's hot (14)

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

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

Надежность World of Tanks Server
Надежность World of Tanks ServerНадежность World of Tanks Server
Надежность World of Tanks Server
Levon Avakyan
 
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
UNETA
 
Высокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureВысокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureAlexander Feschenko
 
Алексей Лавренюк - Организация нагрузочного тестирования
Алексей Лавренюк - Организация нагрузочного тестирования   Алексей Лавренюк - Организация нагрузочного тестирования
Алексей Лавренюк - Организация нагрузочного тестирования Yandex
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
Elena Ometova
 
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
"Тестирование распределенных систем" Сатарин Андрей, Яндекс"Тестирование распределенных систем" Сатарин Андрей, Яндекс
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
it-people
 
Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?
Yandex
 
Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийAlexander Kalouguine
 
Лучшие практики оптимизации ресурсов виртуального ЦОД
Лучшие практики оптимизации ресурсов виртуального ЦОДЛучшие практики оптимизации ресурсов виртуального ЦОД
Лучшие практики оптимизации ресурсов виртуального ЦОД
BAKOTECH
 
Презентация Лучшие практики оптимизации ресурсов виртуального ЦОД
Презентация Лучшие практики оптимизации  ресурсов виртуального ЦОДПрезентация Лучшие практики оптимизации  ресурсов виртуального ЦОД
Презентация Лучшие практики оптимизации ресурсов виртуального ЦОД
Marina Gryshko
 
[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoF[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoFAleksey Shipilev
 
Организация нагрузочного тестирования — Алексей Лавренюк
Организация нагрузочного тестирования — Алексей ЛавренюкОрганизация нагрузочного тестирования — Алексей Лавренюк
Организация нагрузочного тестирования — Алексей Лавренюк
Yandex
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Ontico
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaAlex Chistyakov
 
Мониторинг виртуальной инфраструктуры как залог готовности к облачным технол...
Мониторинг виртуальной инфраструктуры как залог готовности к облачным технол...Мониторинг виртуальной инфраструктуры как залог готовности к облачным технол...
Мониторинг виртуальной инфраструктуры как залог готовности к облачным технол...
Dell_Russia
 
Highload++ 2015
Highload++ 2015Highload++ 2015
Highload++ 2015
Shamim bhuiyan
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
LEDC 2016
 
Oracle Application Management and Testing Suites for Siebel CRM
Oracle Application Management and Testing Suites for Siebel CRMOracle Application Management and Testing Suites for Siebel CRM
Oracle Application Management and Testing Suites for Siebel CRM
Алексей Распопов
 
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
sqadays8
 

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

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

More from SQALab

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

More from SQALab (20)

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