SlideShare a Scribd company logo
1 of 31
Презентация для QASib Г. Кареев, А. Киров Анализ потребления ресурсов группами взаимодействующих процессов, включая короткоживущие (или как объять необъятное и поймать неуловимое)
Постановка задачи Тестирование производительности сложного программного продукта, состоящего из множества долгоживущих (сервисы) и короткоживущих (утилиты) процессов: Замер потребления системных ресурсов за промежуток времени и/или операцию продуктом в целом Анализ потребления индивидуально по каждому процессувключая или не включая дочерние процессы
Проблемы Сложно определить точную загрузку процессора Сложно получить какую-либо информацию о короткожившем процессе Значения потребления памяти процессом имеют неоднозначные трактования
Виртуальная память
Виртуальная память Данные в физическую память помещаются в виде страниц  Локальный адрес состоит из номера страницыисмещения Physicalmemory CPU f d p d Logical address Physicaladdress p offset Page number Page framesare typically2-4 kb Page table
Виртуальная память framenumber 0 Page 1 1 Page 0 4 2 0 Page 1 1 1 Page 3 3 Page 2 6 2 Page 0 4 3 Page 3 3 5 pagetable logicalmemory Page 2 6 7 physicalmemory
Виртуальная память framenumber Process 1 virtual memory Process 1 page table 0 1 1 cpp cpp 2 4 cc1 11 3 cc2 7 cc1 4 data1 5 Process 2 virtual memory 6 Process 2 page table data1 7 1 cpp data2 8 4 cc1 9 11 cc2 10 8 data2 cc2 11 memory
Имеющиеся инструменты
Имеющиеся инструменты
Имеющиеся инструменты
Имеющиеся инструменты
Имеющиеся инструменты
Основные требования Слежение за группой процессов Слежение за изменением дерева процессов Получение информации об умершем процессе Отсутствие* влияния работы самого анализатора на результат Предоставление следующих данных: Потребление памяти Потребление CPU Кол-во считанных и записанных байт данных с диска/на диск Кол-во принятых и отправленных байт данных по сети Кол-во открытых файловых дескрипторов и сокетов Кол-во запущенных процессов-потомков Off-line подсчёт разделяемой памяти
Версия для Linux PTool
PTool Набор утилит командной строки для сбора, хранения и анализа информации о потребляемых ресурсах выбранными процессами или деревьями процессов Состав: Модуль ядра Линукс для сбора необходимой информации Утилита для управления модулем ядра, получения и записи данных в двоичном виде Утилита конвертации двоичных данных в собственный текстовый формат Утилита для преобразования текстовых данных в формат csv ‘как есть’ или с помощью пользовательского набора правил
Kernel probes API ядра Линукс для профилирования в реальном времени Преимущества: Не требует модификации и перекомпиляции ядра из исходных кодов Точки профилирования могут быть размещены и убраны в реальном времени Поддержка трех типов точек профилирования: По адресу любой процессорной инструкции (kprobe) По адресуточки входа в функцию ядра (jprobe) В момент выхода из функции ядра (retprobe)
Особенности порождения новых процессовв ядре Линукс framenumber Process virtual memory Process page table 0 1 1 cpp cpp 2 4 cc1 11 3 data1 7 cc1 4 data2 5 Child process virtual memory 6 Child process page table data2 7 1 cpp data2 8 4 cc1 9 11 data1 10 8 data2 data1 11 memory
Пример анализа результатов
Версия для Windows PTool
PTool Набор утилит командной строки для сбора, хранения и анализа информации о потребляемых ресурсах выбранными процессами или деревьями процессов Состав: Драйвер ядра Windows для сбора необходимой информации Утилита для управления работой драйвера: получения и записи данных в собственный текстовый формат Утилита для преобразования текстовых данных в формат csv ‘как есть’ или с помощью пользовательского набора правил Утилита для подсчёта разделяемой памяти
Карта памяти процесса в Windows Windows 2008 Windows 2003 Commit charge Working set Kernel memory Shareable WS (Потенциальноразделяемаяпамять) Private WS (Неразделяемаяпамять) System cache Shared WS (Разделённая память dllи файлы) Available Paged bytes =  Файл подкачки + Отображенныефайлы
Проблема подсчёта CPU Системный тик Windows (16ms) слишком велик для современных процессоров Процессы могут успевать выполнять свои задачи, не превышая системный тик, а следовательно не учитываться операционной системой как потребляющие CPU
Проблема слежения за группой процессов Для правильного построения дерева процессов нужно детектировать короткоживущие процессы Perl code: Far command line: Perl.exe C:empest.pl exec(“notepad.exe”); (PID: 2192 | Parent: 2808) Far.exe (PID: 3592 | Parent: 2192) cmd.exe Время жизни промежуточных процессов < 0,015 c (PID: 496 | Parent: 3592) perl.exe (PID: 2372 | Parent: 496) notepad.exe
Проблема слежения за группой процессов
Проблема переиспользования PID Проблема: При создании нового процесса, оперционная система может переиспользовать PID Решение: Строить дерево по двойному ключу: PID+время создания процесса
Существующие технологии для анализа производительности WINDOWS API WMI DLL HOOKS Прямая работа с ядром
(1/4) Windows API Получение параметров производительности через пользовательское пространство Вызов функций библиотеки Winapi32.dll Приложение работает в userspace ,[object Object]
Невозможно получить информацию от умерших процессов
Переключение контекстов снижает производительность,[object Object]
Можно выполнить один запрос только по одному пулу событий за промежуток времени,[object Object]
Ограниченный функционал

More Related Content

What's hot

Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Vadim Madison
 
Операционные системы 2015, лекция № 2
Операционные системы 2015, лекция № 2Операционные системы 2015, лекция № 2
Операционные системы 2015, лекция № 2Aleksey Bragin
 
Консервация процессов в домашних условиях
Консервация процессов в домашних условияхКонсервация процессов в домашних условиях
Консервация процессов в домашних условияхOpenVZ
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Ontico
 
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)Ontico
 
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Ontico
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Ontico
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктуройdddpaul
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
презентация на защиту 06.06
презентация на защиту 06.06презентация на защиту 06.06
презентация на защиту 06.06Boris Kizko
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияSQALab
 
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)Ontico
 
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...Nikolay Samokhvalov
 
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Ontico
 
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Ontico
 
Денис Трифонов
Денис ТрифоновДенис Трифонов
Денис ТрифоновCodeFest
 
Scaling services with apache mesos (and docker)
Scaling services with apache mesos (and docker)Scaling services with apache mesos (and docker)
Scaling services with apache mesos (and docker)Ivan Kudryavtsev
 
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011Sergey Schadnyh
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Ontico
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to productionAnton Turetsky
 

What's hot (20)

Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
Операционные системы 2015, лекция № 2
Операционные системы 2015, лекция № 2Операционные системы 2015, лекция № 2
Операционные системы 2015, лекция № 2
 
Консервация процессов в домашних условиях
Консервация процессов в домашних условияхКонсервация процессов в домашних условиях
Консервация процессов в домашних условиях
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
 
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
 
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
презентация на защиту 06.06
презентация на защиту 06.06презентация на защиту 06.06
презентация на защиту 06.06
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестирования
 
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
 
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
 
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
 
Денис Трифонов
Денис ТрифоновДенис Трифонов
Денис Трифонов
 
Scaling services with apache mesos (and docker)
Scaling services with apache mesos (and docker)Scaling services with apache mesos (and docker)
Scaling services with apache mesos (and docker)
 
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to production
 

Viewers also liked

Support akshaya patra one of the non governmental organisations in india
Support akshaya patra one of the non governmental organisations in indiaSupport akshaya patra one of the non governmental organisations in india
Support akshaya patra one of the non governmental organisations in indiaAkshaya Patra Foundation
 
Primeiros passos com dropbox
Primeiros passos com dropboxPrimeiros passos com dropbox
Primeiros passos com dropboxKatiane Barcelos
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerraJose Delgado
 
Confira - Open House Lifestyle - Goiânia
Confira - Open House Lifestyle - GoiâniaConfira - Open House Lifestyle - Goiânia
Confira - Open House Lifestyle - GoiâniaYan Ribeiro
 
Residencial Rosa dos Ventos - Jardim Presidente
Residencial Rosa dos Ventos - Jardim PresidenteResidencial Rosa dos Ventos - Jardim Presidente
Residencial Rosa dos Ventos - Jardim PresidenteYan Ribeiro
 
Evolución del internet. gabriela molina muñoz
Evolución del internet. gabriela molina muñozEvolución del internet. gabriela molina muñoz
Evolución del internet. gabriela molina muñozgabrielamolinamunoz
 
Practica 1 cussin lucio
Practica 1 cussin  lucioPractica 1 cussin  lucio
Practica 1 cussin luciolucio_jose
 
LA HOMOSEXUALIDAD EN LOS ADOLECENTES
LA HOMOSEXUALIDAD EN LOS ADOLECENTESLA HOMOSEXUALIDAD EN LOS ADOLECENTES
LA HOMOSEXUALIDAD EN LOS ADOLECENTEStatigaga
 

Viewers also liked (17)

Support akshaya patra one of the non governmental organisations in india
Support akshaya patra one of the non governmental organisations in indiaSupport akshaya patra one of the non governmental organisations in india
Support akshaya patra one of the non governmental organisations in india
 
Akshaya Patra - Annual Report 2015
Akshaya Patra - Annual Report 2015Akshaya Patra - Annual Report 2015
Akshaya Patra - Annual Report 2015
 
Pericoronitis
Pericoronitis  Pericoronitis
Pericoronitis
 
Mein blog
Mein blogMein blog
Mein blog
 
Primeiros passos com dropbox
Primeiros passos com dropboxPrimeiros passos com dropbox
Primeiros passos com dropbox
 
Kpop week 2
Kpop week 2Kpop week 2
Kpop week 2
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Venta de zapatos de moda
Venta de zapatos de modaVenta de zapatos de moda
Venta de zapatos de moda
 
Author Visit Flyer
Author Visit FlyerAuthor Visit Flyer
Author Visit Flyer
 
linea de tiempo medieval
linea de tiempo medievallinea de tiempo medieval
linea de tiempo medieval
 
Confira - Open House Lifestyle - Goiânia
Confira - Open House Lifestyle - GoiâniaConfira - Open House Lifestyle - Goiânia
Confira - Open House Lifestyle - Goiânia
 
Residencial Rosa dos Ventos - Jardim Presidente
Residencial Rosa dos Ventos - Jardim PresidenteResidencial Rosa dos Ventos - Jardim Presidente
Residencial Rosa dos Ventos - Jardim Presidente
 
Evolución del internet. gabriela molina muñoz
Evolución del internet. gabriela molina muñozEvolución del internet. gabriela molina muñoz
Evolución del internet. gabriela molina muñoz
 
Practica 1 cussin lucio
Practica 1 cussin  lucioPractica 1 cussin  lucio
Practica 1 cussin lucio
 
LA HOMOSEXUALIDAD EN LOS ADOLECENTES
LA HOMOSEXUALIDAD EN LOS ADOLECENTESLA HOMOSEXUALIDAD EN LOS ADOLECENTES
LA HOMOSEXUALIDAD EN LOS ADOLECENTES
 
Super Star- conto
Super Star- contoSuper Star- conto
Super Star- conto
 
La robotica
La roboticaLa robotica
La robotica
 

Similar to 6 кареев киров

Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusCisco Russia
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Vladimir Bakhov
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
Windows Server 2008 новинки
Windows Server 2008   новинкиWindows Server 2008   новинки
Windows Server 2008 новинкиAlexander Babich
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоSQALab
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_haElena Ometova
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2Technopark
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Ontico
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Igor Miniailo
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBASlach
 
Sql server clr integration
Sql server clr integration Sql server clr integration
Sql server clr integration Alex Tumanoff
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовАгентство AlterEGO
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоStanfy
 
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Ontico
 

Similar to 6 кареев киров (20)

Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Windows Server 2008 новинки
Windows Server 2008   новинкиWindows Server 2008   новинки
Windows Server 2008 новинки
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудство
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBA
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Breaking logs
Breaking logsBreaking logs
Breaking logs
 
Sql server clr integration
Sql server clr integration Sql server clr integration
Sql server clr integration
 
Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектов
 
презентация.1
презентация.1презентация.1
презентация.1
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел Тайкало
 
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
 

More from qasib

Watir&amp;web driver
Watir&amp;web driverWatir&amp;web driver
Watir&amp;web driverqasib
 
Блуждание во тьме. Или как понять состояние продукта
Блуждание во тьме. Или как понять состояние продуктаБлуждание во тьме. Или как понять состояние продукта
Блуждание во тьме. Или как понять состояние продуктаqasib
 
Gostev 2
Gostev 2Gostev 2
Gostev 2qasib
 
Кутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картКутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картqasib
 
Белов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхБелов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхqasib
 
Высоцкий Неортодоксальный дизайн тестов
Высоцкий Неортодоксальный дизайн тестовВысоцкий Неортодоксальный дизайн тестов
Высоцкий Неортодоксальный дизайн тестовqasib
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская qasib
 
3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov seleniumqasib
 
2 kurnosova presentation
2 kurnosova presentation2 kurnosova presentation
2 kurnosova presentationqasib
 
4 kazakov clouds-intesting
4 kazakov clouds-intesting4 kazakov clouds-intesting
4 kazakov clouds-intestingqasib
 
1 щербина
1 щербина1 щербина
1 щербинаqasib
 
Oсобенности тестирования игр
Oсобенности тестирования игрOсобенности тестирования игр
Oсобенности тестирования игрqasib
 
Я бы в тестеры пошел. Татьяна Богданова
Я бы в тестеры пошел. Татьяна БогдановаЯ бы в тестеры пошел. Татьяна Богданова
Я бы в тестеры пошел. Татьяна Богдановаqasib
 
Управление рисками в тестировании. Сергей Олейников
Управление рисками в тестировании. Сергей ОлейниковУправление рисками в тестировании. Сергей Олейников
Управление рисками в тестировании. Сергей Олейниковqasib
 
Роль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана ФедянинаРоль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана Федянинаqasib
 
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынинаqasib
 
Сергей Высоцкий - Automated Software Testing- Сказки и реальность
Сергей Высоцкий - Automated Software Testing- Сказки и реальностьСергей Высоцкий - Automated Software Testing- Сказки и реальность
Сергей Высоцкий - Automated Software Testing- Сказки и реальностьqasib
 
Дмитрий Пиликов - Юзабилити тестирование
Дмитрий Пиликов - Юзабилити тестированиеДмитрий Пиликов - Юзабилити тестирование
Дмитрий Пиликов - Юзабилити тестированиеqasib
 

More from qasib (18)

Watir&amp;web driver
Watir&amp;web driverWatir&amp;web driver
Watir&amp;web driver
 
Блуждание во тьме. Или как понять состояние продукта
Блуждание во тьме. Или как понять состояние продуктаБлуждание во тьме. Или как понять состояние продукта
Блуждание во тьме. Или как понять состояние продукта
 
Gostev 2
Gostev 2Gostev 2
Gostev 2
 
Кутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картКутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных карт
 
Белов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхБелов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложениях
 
Высоцкий Неортодоксальный дизайн тестов
Высоцкий Неортодоксальный дизайн тестовВысоцкий Неортодоксальный дизайн тестов
Высоцкий Неортодоксальный дизайн тестов
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская
 
3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov selenium
 
2 kurnosova presentation
2 kurnosova presentation2 kurnosova presentation
2 kurnosova presentation
 
4 kazakov clouds-intesting
4 kazakov clouds-intesting4 kazakov clouds-intesting
4 kazakov clouds-intesting
 
1 щербина
1 щербина1 щербина
1 щербина
 
Oсобенности тестирования игр
Oсобенности тестирования игрOсобенности тестирования игр
Oсобенности тестирования игр
 
Я бы в тестеры пошел. Татьяна Богданова
Я бы в тестеры пошел. Татьяна БогдановаЯ бы в тестеры пошел. Татьяна Богданова
Я бы в тестеры пошел. Татьяна Богданова
 
Управление рисками в тестировании. Сергей Олейников
Управление рисками в тестировании. Сергей ОлейниковУправление рисками в тестировании. Сергей Олейников
Управление рисками в тестировании. Сергей Олейников
 
Роль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана ФедянинаРоль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана Федянина
 
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынина
 
Сергей Высоцкий - Automated Software Testing- Сказки и реальность
Сергей Высоцкий - Automated Software Testing- Сказки и реальностьСергей Высоцкий - Automated Software Testing- Сказки и реальность
Сергей Высоцкий - Automated Software Testing- Сказки и реальность
 
Дмитрий Пиликов - Юзабилити тестирование
Дмитрий Пиликов - Юзабилити тестированиеДмитрий Пиликов - Юзабилити тестирование
Дмитрий Пиликов - Юзабилити тестирование
 

6 кареев киров

  • 1. Презентация для QASib Г. Кареев, А. Киров Анализ потребления ресурсов группами взаимодействующих процессов, включая короткоживущие (или как объять необъятное и поймать неуловимое)
  • 2. Постановка задачи Тестирование производительности сложного программного продукта, состоящего из множества долгоживущих (сервисы) и короткоживущих (утилиты) процессов: Замер потребления системных ресурсов за промежуток времени и/или операцию продуктом в целом Анализ потребления индивидуально по каждому процессувключая или не включая дочерние процессы
  • 3. Проблемы Сложно определить точную загрузку процессора Сложно получить какую-либо информацию о короткожившем процессе Значения потребления памяти процессом имеют неоднозначные трактования
  • 5. Виртуальная память Данные в физическую память помещаются в виде страниц Локальный адрес состоит из номера страницыисмещения Physicalmemory CPU f d p d Logical address Physicaladdress p offset Page number Page framesare typically2-4 kb Page table
  • 6. Виртуальная память framenumber 0 Page 1 1 Page 0 4 2 0 Page 1 1 1 Page 3 3 Page 2 6 2 Page 0 4 3 Page 3 3 5 pagetable logicalmemory Page 2 6 7 physicalmemory
  • 7. Виртуальная память framenumber Process 1 virtual memory Process 1 page table 0 1 1 cpp cpp 2 4 cc1 11 3 cc2 7 cc1 4 data1 5 Process 2 virtual memory 6 Process 2 page table data1 7 1 cpp data2 8 4 cc1 9 11 cc2 10 8 data2 cc2 11 memory
  • 13. Основные требования Слежение за группой процессов Слежение за изменением дерева процессов Получение информации об умершем процессе Отсутствие* влияния работы самого анализатора на результат Предоставление следующих данных: Потребление памяти Потребление CPU Кол-во считанных и записанных байт данных с диска/на диск Кол-во принятых и отправленных байт данных по сети Кол-во открытых файловых дескрипторов и сокетов Кол-во запущенных процессов-потомков Off-line подсчёт разделяемой памяти
  • 15. PTool Набор утилит командной строки для сбора, хранения и анализа информации о потребляемых ресурсах выбранными процессами или деревьями процессов Состав: Модуль ядра Линукс для сбора необходимой информации Утилита для управления модулем ядра, получения и записи данных в двоичном виде Утилита конвертации двоичных данных в собственный текстовый формат Утилита для преобразования текстовых данных в формат csv ‘как есть’ или с помощью пользовательского набора правил
  • 16. Kernel probes API ядра Линукс для профилирования в реальном времени Преимущества: Не требует модификации и перекомпиляции ядра из исходных кодов Точки профилирования могут быть размещены и убраны в реальном времени Поддержка трех типов точек профилирования: По адресу любой процессорной инструкции (kprobe) По адресуточки входа в функцию ядра (jprobe) В момент выхода из функции ядра (retprobe)
  • 17. Особенности порождения новых процессовв ядре Линукс framenumber Process virtual memory Process page table 0 1 1 cpp cpp 2 4 cc1 11 3 data1 7 cc1 4 data2 5 Child process virtual memory 6 Child process page table data2 7 1 cpp data2 8 4 cc1 9 11 data1 10 8 data2 data1 11 memory
  • 20. PTool Набор утилит командной строки для сбора, хранения и анализа информации о потребляемых ресурсах выбранными процессами или деревьями процессов Состав: Драйвер ядра Windows для сбора необходимой информации Утилита для управления работой драйвера: получения и записи данных в собственный текстовый формат Утилита для преобразования текстовых данных в формат csv ‘как есть’ или с помощью пользовательского набора правил Утилита для подсчёта разделяемой памяти
  • 21. Карта памяти процесса в Windows Windows 2008 Windows 2003 Commit charge Working set Kernel memory Shareable WS (Потенциальноразделяемаяпамять) Private WS (Неразделяемаяпамять) System cache Shared WS (Разделённая память dllи файлы) Available Paged bytes = Файл подкачки + Отображенныефайлы
  • 22. Проблема подсчёта CPU Системный тик Windows (16ms) слишком велик для современных процессоров Процессы могут успевать выполнять свои задачи, не превышая системный тик, а следовательно не учитываться операционной системой как потребляющие CPU
  • 23. Проблема слежения за группой процессов Для правильного построения дерева процессов нужно детектировать короткоживущие процессы Perl code: Far command line: Perl.exe C:empest.pl exec(“notepad.exe”); (PID: 2192 | Parent: 2808) Far.exe (PID: 3592 | Parent: 2192) cmd.exe Время жизни промежуточных процессов < 0,015 c (PID: 496 | Parent: 3592) perl.exe (PID: 2372 | Parent: 496) notepad.exe
  • 24. Проблема слежения за группой процессов
  • 25. Проблема переиспользования PID Проблема: При создании нового процесса, оперционная система может переиспользовать PID Решение: Строить дерево по двойному ключу: PID+время создания процесса
  • 26. Существующие технологии для анализа производительности WINDOWS API WMI DLL HOOKS Прямая работа с ядром
  • 27.
  • 28. Невозможно получить информацию от умерших процессов
  • 29.
  • 30.
  • 32.
  • 33.