Как выполнить нагрузочное тестирование PHP-сайта с обоих концов - PullRequest
0 голосов
/ 03 июля 2018

Мы разработали сайт на PHP для небольших сервисов. Перед началом производства мы должны выполнить тестирование производительности и нагрузки со стороны сервера (то есть Apache) и со стороны клиента.

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

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

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Поскольку вы используете Apache, вы можете использовать ab для стресс-тестирования серверной части вашего приложения.

Инструмент тестирования Apache HTTP-сервера

ab - это инструмент для тестирования вашего сервера Apache Hypertext Transfer Protocol (HTTP). Он разработан, чтобы дать вам представление о том, как работает ваша текущая установка Apache. Это особенно показывает, сколько запросов в секунду может обслуживать ваша установка Apache.

Давайте рассмотрим пример:

ab -k -c 100 -n 10000 example.com/

Выполнив указанную выше команду, вы нажмете http://example.com/ со 100 одновременными соединениями, пока не будет удовлетворено 10 тысяч запросов.

Здесь у вас есть другой учебник по использованию ab

Стресс-тестирование вашего PHP-приложения с помощью ApacheBench

Некоторые другие полезные инструменты:

  1. Apache JMeter
  2. httperf

Если вы хотите более детально рассмотреть ваши php объекты и все такое, я бы посоветовал вам проверить blackfire . Как я знаю, они предлагают бесплатную версию для локального тестирования и только одно приложение. Но я не думаю, что вам нужен этот.

Для вашего front end Я бы предложил вам набор инструментов, которые помогут вам увидеть, как ваша страница работает на разных устройствах:

  1. Маяк
  2. PageSpeed ​​Insights
  3. Pingdom
0 голосов
/ 03 июля 2018

Список бесплатных и открытых инструментов для нагрузочного тестирования можно найти на http://www.opensourcetesting.org/category/testing-tools-overview/performance/?menu-page=overview,, в настоящее время их 59 (и их количество).

Суженный список самых передовых кроссплатформенных инструментов нагрузочного тестирования с открытым исходным кодом можно найти в статье Инструменты нагрузочного тестирования с открытым исходным кодом: какую из них использовать? , в ней также есть матрица сравнения функций, примеры сценариев и отчетов.

Учитывая, что ваше приложение написано на PHP, я ожидаю, что вы не обладаете большим опытом в других языках программирования, поэтому наиболее очевидный выбор будет в:

  • Tsung , где вы можете создать свой нагрузочный тест, используя файлы XML
  • Apache JMeter , который также хранит тестовые сценарии в формате XML, однако вы можете использовать GUI для создания тестовой логики, которая может быть быстрее и проще.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...