Исследование и выбор метрик оценки производительности веб-приложений |
Скачков Дмитрий Андреевич / 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, %). Метрика, отражающая процент загрузки ядер процессора из заданного определенного интервала, потраченного на вычисления для процесса веб-приложения. Анализ истории потребления ресурсов процессора может объяснять влияние на общую производительность системы потоков обрабатываемых данных, конфигурации приложения и операционной системы, мультипоточности вычислений, и других факторов.
Рисунок 1. Загрузка ядер процессора. Средняя сумма за секунду
2. Потребление оперативной памяти (Memory usage, Mb). Метрика, отображающая количество оперативной памяти, использованной функциональными элементами веб-приложения в одном процессе. Исчерпание системных лимитов по объему оперативной памяти на PHP-процесс может стать причиной ошибки и отказа веб-приложения. Таким образом, для формирования метрики потребления оперативной памяти важно фиксировать все достижения лимитов за период работы веб-приложения. Эта статистика станет основой для формирования интегральной оценки потребления памяти веб-приложением: , где x – количество достижений лимитов за исследуемый период, n количество периодов без достижения лимита по оперативной памяти. R=0 – оптимальный показатель потребления оперативной памяти. 3. Потребление сетевых ресурсов (kb/s). Эта метрика не связана непосредственно с производительностью веб-приложения, однако ее показатели могут отражаться на производительности системы в целом.
Рисунок 2. Трафик веб-приложения. Средняя сумма за секунду
4. Работа с дисковой подсистемой (I/O Wait). Работа с дисковой подсистемой может значительно влиять на производительность веб-приложения. Большое количество чтений или записей может приводить к простаиванию процессора в ожидании обработки данных с диска и в итоге увеличению потребления CPU и увеличению времени отклика. Руководствуясь результатами анализа статистики по работе с диском, можно выявить узкие места в работе веб-приложения, а также дать интегральную оценку работы с дисковой подсистемой веб-приложением.
Рисунок 3. Работа с дисковой подсистемой. Средняя сумма за секунду
5. Работасбазойданных (connections, requests time (ms)). Во многих случаях, для стабильности работы веб-приложения используют ограничение на количество одновременных подключений к базе данных (шт/с), руководствуясь аппаратными возможностями сервера. Превышение допустимого количества одновременных подключений одного mysql-пользователя может стать причиной отказа работы веб-приложения. Актуальным становится анализ использования соединений с базой данных функциональными элементами веб-приложения. Время выполнения запроса веб-приложением остается одним из самых главных показателей производительности системы или приложения. Это время может быть измерено на серверной стороне, как временя, которое требуется серверной части для обработки запроса; так и на клиентской, как временя, которое требуется на сериализацию / десериализацию, пересылку и обработку запроса.
Рисунок 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. Процесс для блоков оценки |
Публикация научной статьи. Пошаговая инструкция |
Есть вопрос? Задайте его Вашему персональному менеджеру. Служба поддержки призвана помочь пользователям в решении любых проблем, связанных с вопросами публикации своих работ и другими аспектами работы издательства «Проблемы науки».
КОНТАКТЫ РЕДАКЦИИ
E-mail:
Телефон:
+7(915)814-09-51 (WhatsApp)
В этом разделе публикуются научные статьи наших авторов.