Научная статья на тему 'Сравнительное тестирование PHP-фреймворков'

Сравнительное тестирование PHP-фреймворков Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
906
100
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
PHP-ФРЕЙМВОРКИ / СРАВНЕНИЕ / СКОРОСТЬ РАБОТЫ / ПРОИЗВОДИТЕЛЬНОСТЬ / PHP FRAMEWORKS / COMPARISON / PERFORMANCE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шевченко Евгений Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPARATIVE TESTING OF PHP FRAMEWORKS

The article discusses the most popular and widely known PHP frameworks, performs comparative testing for processing the number of requests within a second, determines the memory occupied and the effect of indicators on the performance of certain actions, checks the time to receive a response from the server and identifies indicators affecting the first launch of the application. For all characteristics built charts. From the analysis made, the conclusion was made about the impact of indicators on the developed application.

Текст научной работы на тему «Сравнительное тестирование PHP-фреймворков»

Список литературы /References

1. Алиев З.С., Самуйлова Л.В. Газогидродинамические исследования газовых и газоконденсатных пластов и скважин. М: МАКС Пресс, РГУ нефти и газа им. И.М. Губкина, 2011. 337 с.

2. Зотов Г.А, Тверковкин С.М. Газогидродинамические методы исследования газовых скважин. М.: Недра, 1970. 192 с.

3. Алиев З.С., Котлярова Е.М. Определение основных параметров горизонтальных скважин. М.: РГУ нефти и газа имени И.М. Губкина, 2012. 228 с.

4. Зотов Г.А. Методика газодинамических исследований горизонтальных скважин. М.: ВНИИГАЗ, 2000. 115 с.

СРАВНИТЕЛЬНОЕ ТЕСТИРОВАНИЕ PHP-ФРЕЙМВОРКОВ Шевченко Е.С. Email: Shevchenko664@scientifictext.ru

Шевченко Евгений Сергеевич - магистрант, кафедра корпоративных информационных систем, Российский технологический университет, г. Москва

Аннотация: в статье рассматриваются наиболее популярные и широко известные PHP-фреймворки, проводится сравнительное тестирование на обработку колличества запросов в течение секунды, определяется занимаемая память и влияние показателей на выполнение определенных действий, проверяется время получения ответа от сервера и определение показателей влияющих на первый запуск приложения. Для всех характеристик построены диаграммы сравнения для различных версий языка PHP. Из проведенного анализа над полученными данными сделан вывод о влиянии описанных показателей на разрабатываемое приложение. Ключевые слова: PHP-фреймворки, сравнение, скорость работы, производительность

COMPARATIVE TESTING OF PHP FRAMEWORKS Shevchenko E.S.

Shevchenko Evgeniy Sergeevich - Undergraduate, DEPARTMENT OF CORPORATE INFORMATION SYSTEMS, RUSSIAN TECHNOLOGICAL UNIVERSITY, MOSCOW

Abstract: the article discusses the most popular and widely known PHP frameworks, performs comparative testing for processing the number of requests within a second, determines the memory occupied and the effect of indicators on the performance of certain actions, checks the time to receive a response from the server and identifies indicators affecting the first launch of the application. For all characteristics built charts. From the analysis made, the conclusion was made about the impact of indicators on the developed application.

Keywords: PHP frameworks, comparison, performance, performance.

УДК 004.03

При разработке любого программного продукта первоначальной задачей разработчиков является выбор программной платформы. Чаще всего разработчики задаются вопросом скорости работы и необходимости того или иного функционала. Команда сравнивает удобство и сокрость работы фреймворка, набор реализованных в нем особенностей и совместимых модулей. На тему сравнения PHP-фреймворков в

интернете достоточно много статей, но все они достаточно устарели, а т.к. время идет вреймворки активно развиваются и, исходя из этого, написана данная статья.

При оценке производительности был использован PHP Framework Benchmark. Одна из основных целей данной статьи определение улучшений с точки зрения производительности и эффективности различных версий PHP 5.6/7.0/7.1 опыт показывает, что именно данные версии языка являются достаточно популярными [5, с. 77].

Тестирование разделяется на несколько видов: производительность, занимаемую память, время выполнения и колличество подключаемых файлов. В качестве сравнения были выбраны фреймворки: phalcon-3.0, phpixie-3.2, yii-2.0, laravel-5.4, ze-1.0, zf-3.0, slim-3.0, silex-1.3, symfony-3.0, bluz (версия 7.0.0 — для РНР5.6 и версия 7.4 для РНР7.0 и выше), ci-3.0, zf-2.5, laravel-5.3, lumen-5.1, symfony-2.7, fuel-1.8.

Характеристики машины, на которой проводилось тестирование, обладает следующими характеристиками:

Operation sy3tem: Linux Mint 17 Cinnamon 64-bit Ргосеззаг: Intel Gore 13-4160 CPU 3.£0 Ghz X 2 Server Version: Apache/2.4.7 (ubuntu)

Рис. 1. Характеристики машины, на которой производилось тестирование

Структура PHP-Framework-Benchmark следующая, дирректория /benchmark содержит bash-скрипты, /lib хранит в себе файлы, отвечающие за вывод таблиц с результатами и обработку полученной информации, /output содержит файлы логов тестирования [6, с. 15].

Перед запуском теста необходимо настроить фреймворки, для установки отдельных фреймворков, можно воспользоваться командой bash setup.sh fatfree-3.5/slim-3.0/lumen-5.1/silex-1.3/ [3, с. 41]. После настройки запускается тестирование при помощи bash benchmark.sh. и при завершении работы в окне терминала появляется таблица со списком протестированных фреймвокров, занимаемой памятью, колличеством запросов в секунду и относительными значениями.

Каждый фреймворк может обработать определенной колличество заросов в течение секунды и чем выше данный показатель, тем производительнее разрабатываемое приложение [4, с. 99]. Для большей наглядности для каждой версии PHP построен график.

Рис. 2. График, отображающий запросы в секунду для PHP 5.6

6000

Рис. 3. График, отображающий запросы в секунду для PHP 7.0

10000

Рис. 4. График, отображающий запросы в секунду для PHP 7.1

Рис. 5. Сводная накопительная диаграмма для PHP-фреймворков

Также важной характеристикой является занимаемая память, измеряемая в мегабайтах отвечающая за колличество занимаемой памяти фреймворком при выполнении задачи и чем ниже данный показатель, тем проще серверу выполнять работу [7, с. 50]. Для остальных характеристик, в том числе занимаемая память, представлены общие диаграммы цветовая окраска которых совпадает с предыдущими относящими себя к конкретной версии PHP.

Рис. 6. Накопительная диаграмма занимаемой памяти РНР-фреймворками

Достаточно важно знать, сколько времени необходимо ожидать, чтобы получить ответ от сервера [1, С. 129]. Данная характеристика и будет называться временем выполения. Диаграмма, отображающая полученные результаты, представлена, на рисунке 7, ниже.

Рис. 7. Накопительная диаграмма времени выполнения РНР-фреймворками

Каждая система тратит время на поиск и подключение различных файлов описанных в точке входа фреймворка и чем меньше подключаемых файлов, тем быстрее будет осуществляться первый запуск приложения. Диаграмма, представленная на рисунке 8, отображает полученные результаты.

Рис. 8. Накопительная диаграмма подключаемых файлов PHP-фреймворками

Вывод

Ожидаемо лидером с точки зрения производительности стал Phalcon, за ним следует CodeIgniter 3, но данные фреймворки в большенстве случаев сложны для понимания особенно начинающим разработчикам.

Конечно, для каждой задачи создано собственное решение, к примеру, при попытке написать сложное приложение или REST API на простом и легком фреймворке, то проблемой будет расширение функционала, и наоборот, избыток больших полнофункциональных фреймворков приводит к большим финансовым затратам на содержание хостинга.

Проведенные тестирования доказали, что скорость работы PHP 7.0 и выше значительно выросла и при использовании в проектах данных версияй языка разработанное приложение будет работать быстрее и эффективнее.

Список литературы /References

1. Симдянов И.В., Котеров Д.В. Самоучитель PHP 7 // БХВ-Петербург, 2018. С. 1088

2. Скляр Д. Руководство по созданию интерактивных веб-сайтов // Вильямс, 2017. С. 464.

3. Шасанкар К. Zend Framework 2.0. Разработка веб-приложений // Питер, 2014. С. 208.

4. BeakA. PHP 7 Zend Certification Study Guide // Packt Publishing Ltd, 2017. P. 294.

5. Sanders W. Learning PHP Design Patterns // Packt Publishing Ltd, 2013. P. 362.

6. Trucchia F., Jacopo R. Pro PHP Refactoring // Packt Publishing Ltd, 2010. P. 360.

7. W. Jason Gilmore. Easy Laravel 5: A Hands On Introduction Using a Real-World Project // Packt Publishing Ltd, 2015. P. 205.

МЕХАНИЗМ АКТИВИТИ-ПЛАНОВ СОЗДАНИЯ ШАБЛОНОВ ЗАДАЧ ДЛЯ СОТРУДНИКОВ ЦЕНТРА ОБЕСПЕЧЕНИЯ СЕРВИСНОГО ОБСЛУЖИВАНИЯ Нифонтов В.В. Email: Nifontov664@scientifictext.ru

Нифонтов Владислав Владимирович - магистрант, кафедра корпоративных информационных систем, Российский технологический университет, г. Москва

Аннотация: в статье рассматривается реализация создания шаблонов задач для сотрудников центра обеспечения сервисного обслуживания, используя механизм активити-планов программного обеспечения Oracle Siebel CRM. Одним из важнейших преимуществ данного механизма является гибкость настройки шаблона планируемых задач, а также его универсальность. Универсальность механизма проявляется в том, что благодаря шаблону задач, будут планироваться все типовые задачи, связанные с выдачей справок сотрудниками центрального сервисного обслуживания. Это позволяет, настроив универсальный механизм, не рассматривать создание каждого сервисного запроса в отдельности. Гибкость механизма позволяет перенастроить шаблон планируемых задач через интерфейс, не останавливая продуктивную среду.

Ключевые слова: центр обеспечения сервисного обслуживания, Oracle Siebel CRM, активити-план.

THE REVITALIZATION MECHANISM IS THE PLANNED CREATION OF TASK TEMPLATES FOR CENTRAL SERVICE

SUPPORT STAFF Nifontov V.V.

Nifontov Vladislav Vladimirovich - Undergraduate, DEPARTMENT OF CORPORATE INFORMATION SYSTEMS, MOSCOW TECHNOLOGICAL UNIVERSITY, MOSCOW

Abstract: the article discusses the implementation of creating task templates for employees of the service support center using the activation mechanism of Oracle Siebel CRM software. One of the most important advantages of this mechanism is the flexibility of setting the pattern of planned tasks, as well as its versatility. The universality of the mechanism is manifested in the fact that, thanks to the task template, all typical tasks related to issuing

i Надоели баннеры? Вы всегда можете отключить рекламу.