Исследование и выбор метрик оценки производительности веб-приложений

Скачков Дмитрий Андреевич / Skachkov Dmitry Andreevich – аспирант,

кафедра компьютерных сетей и систем, факультет электроники и компьютерной инженерии,

Кременчугский национальный университет имени Михаила Остроградского, г. Кременчуг

 

Аннотация: исследованы метрики производительности веб-приложений. Они могут быть положены в основу для разработки инструментария по оптимизации веб-приложений используемый как разработчиками, так и хостинг-провайдерами.

Abstract: the investigated performance metrics of web applications. They can be used as a basis for the development of tools for optimizing web applications for use by developers and hosting providers.

 

Ключевые слова: веб-приложения, метрики производительности, оптимизация веб-приложений.

Keywords: web applications, performance metrics, optimization of web applications.

 

Разработка программного обеспечения ориентированного для интернета получает все более обширное распространение. Ориентация бизнеса на интернет, позволяет обеспечить его развитие и конкурентоспособность. С учетом этого, крайне актуальными становятся задачи обеспечения качества разрабатываемых веб-приложений, как при их проектировании, так и развитии (модернизации), в ответ на изменяющиеся требования бизнеса.

Зачастую, созданный программный продукт является рабочим и удовлетворяющим требованиям заказчика, однако, непригоден для использования в имеющейся инфраструктуре, ресурсоемок, а также не пригоден для условий масштабирования нагрузки. Вопрос оценки качества программного обеспечения подробно рассмотрен в работах [1,2], однако вопросу оценки использования аппаратных ресурсов веб-приложением было уделено недостаточно внимания. Во многих случаях [3,4] потреблению аппаратных ресурсов, дают условную оценку на основе существующих вычислительных мощностей.

Метрики программной инженерии служат для решения этой задачи. Метрика программного обеспечения – мера, позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций. В этом исследовании они используются для решения двух актуальных задач производства программного обеспечения. Первая – сокращение затрат на оценку качества создаваемого программного обеспечения путем автоматизации процесса оценки. Вторая – оперативный контроль качества программного обеспечения с целью выявления и исправления ошибок и недоработок, отражающихся на потреблении аппаратных ресурсов и отказоустойчивости веб-приложения.

В международных стандартах ISO 14598, ISO/IEC 25000 представлены методы и стандарты оценки характеристик качества готовых программных средств и их компонентов (программного продукта) на различных этапах жизненного цикла. В основе стандартов лежат метрики оценки сложности программного обеспечения, включающие в себя такие параметры, как время сертификационных испытаний, число сертифицируемых продуктов, сложность поддержки, структурированность, код и др. Однако вопросу исследования и разработке метрик оценки производительности программного обеспечения, а именно веб-приложений [5], не было уделено должного внимания, хотя вопрос оценки производительности веб-приложений очень важен для разработчиков и хостинг-провайдеров.

Данная работа посвящена выработке метрик по оценке производительности веб-приложений по сертификации потребляемых ресурсов. В качестве основы для построения метрик были взяты статистические данные по работе веб-приложения на базе CMS/CMF Drupal 7, написанном на языке PHP.

Метрика производительности веб-приложений включает в себя следующие параметры:

1. Потребление ресурсов процессора (CPU, %). Метрика, отражающая процент загрузки ядер процессора из заданного определенного интервала, потраченного на вычисления для процесса веб-приложения. Анализ истории потребления ресурсов процессора может объяснять влияние на общую производительность системы потоков обрабатываемых данных, конфигурации приложения и операционной системы, мультипоточности вычислений, и других факторов.

 

 

Macintosh HD:Users:dmitry:Downloads:chart.png

 

Рисунок 1. Загрузка ядер процессора. Средняя сумма за секунду

 

2. Потребление оперативной памяти (Memory usage, Mb). Метрика, отображающая количество оперативной памяти, использованной функциональными элементами веб-приложения в одном процессе. Исчерпание системных лимитов по объему оперативной памяти на PHP-процесс может стать причиной ошибки и отказа веб-приложения. Таким образом, для формирования метрики потребления оперативной памяти важно фиксировать все достижения лимитов за период работы веб-приложения. Эта статистика станет основой для формирования интегральной оценки потребления памяти веб-приложением: , где x – количество достижений лимитов за исследуемый период, n количество периодов без достижения лимита по оперативной памяти. R=0 – оптимальный показатель потребления оперативной памяти.

3. Потребление сетевых ресурсов (kb/s). Эта метрика не связана непосредственно с производительностью веб-приложения, однако ее показатели могут отражаться на производительности системы в целом.

 

Macintosh HD:Users:dmitry:Downloads:chart-2.png

 

Рисунок 2. Трафик веб-приложения. Средняя сумма за секунду

 

4. Работа с дисковой подсистемой (I/O Wait). Работа с дисковой подсистемой может значительно влиять на производительность веб-приложения. Большое количество чтений или записей может приводить к простаиванию процессора в ожидании обработки данных с диска и в итоге увеличению потребления CPU и увеличению времени отклика. Руководствуясь результатами анализа статистики по работе с диском, можно выявить узкие места в работе веб-приложения, а также дать интегральную оценку работы с дисковой подсистемой веб-приложением.

 

Macintosh HD:Users:dmitry:Downloads:chart-6.png

 

Рисунок 3. Работа с дисковой подсистемой. Средняя сумма за секунду

 

5. Работасбазойданных (connections, requests time (ms)). Во многих случаях, для стабильности работы веб-приложения используют ограничение на количество одновременных подключений к базе данных (шт/с), руководствуясь аппаратными возможностями сервера. Превышение допустимого количества одновременных подключений одного mysql-пользователя может стать причиной отказа работы веб-приложения. Актуальным становится анализ использования соединений с базой данных функциональными элементами веб-приложения.

Время выполнения запроса веб-приложением остается одним из самых главных показателей производительности системы или приложения. Это время может быть измерено на серверной стороне, как временя, которое требуется серверной части для обработки запроса; так и на клиентской, как временя, которое требуется на сериализацию / десериализацию, пересылку и обработку запроса.

Macintosh HD:Users:dmitry:Downloads:chart-3.png

 

Рисунок 4. Трафик базы данных. Средняя сумма за секунду

 

Macintosh HD:Users:dmitry:Downloads:chart-4.png

Рисунок 5. Запросы к базе данных. Средняя сумма за секунду

 

 

Macintosh HD:Users:dmitry:Downloads:chart-7.png

 

Рисунок 6. Подключение mysql пользователя. Средняя сумма за секунду

 

Таким образом, были исследованы существующие метрики надежности и качества программного обеспечения. Определены критерии для оценки производительности веб-приложения. Такой подход к вопросу оценки производительности веб-приложений может стать основой для разработки инструментария по оптимизации веб-приложений, используемый как разработчиками так и хостинг-провайдерами.

 

Литература

 

1.     McCall J., Richards P., Walters G. Factors in Software Quality, three volumes, NTIS AD-A049-014, AD-A049-015, AD-A049-055, November 1977.

2.     Липаев В.В. Обеспечение качества программных средств. Методы и стандарты. Синтег, Москва, 2001.

3.     Фаулер М. Рефакторинг: улучшение существующего кода. СПб: Символ-Плюс, 2003. 432 c..

4.     Афанасьев С.В., Воробьев В.И. Метрики для объектно-ориентированного проектирования сложных систем // Вестник гражданских инженеров, 2005, No 4, с. 118-123.

5.     ISO/IEC 14598-5:1998 Информационные технологии. Оценка программного продукта. Часть 5. Процесс для блоков оценки



Публикация научной статьи. Пошаговая инструкция

telemarketer

Есть вопрос? Задайте его Вашему персональному менеджеру. Служба поддержки призвана помочь пользователям в решении любых проблем, связанных с вопросами публикации своих работ и другими аспектами работы издательства «Проблемы науки».

 
Интересная статья? Поделись ей с другими:

Добавить комментарий


Защитный код
Обновить

Издательство «Проблемы науки» Наши авторы Исследование и выбор метрик оценки производительности веб-приложений
Яндекс.Метрика Импакт-фактор российских научных журналов Принимаем Z-Payment www.megastock.ru