Как мне провести стресс-тест моего веб-приложения?
У меня есть несколько сложное веб-приложение, содержащее Flash и javascript на стороне клиента и на стороне PHP-сервера. Функциональность PHP содержит системные вызовы (exec()) для слияния / редактирования / создания файлов с программным обеспечением gnu (*nix), а также вызовы API для служб REST для загрузки этих файлов (однако это будет сделано с заданиями cron).
Мы еще не готовы к запуску, мы ожидаем большой загрузки сервера непосредственно при запуске, поэтому нам необходимо провести стресс-тестирование среды. Я просмотрел некоторые библиотеки, например JMeter, но на самом деле эти библиотеки не могут обрабатывать Flash - и объединение / редактирование / создание зависит от входных данных из приложения Flash. Как я могу провести стресс-тестирование своего окружения наилучшим образом?
С наилучшими пожеланиями,
4 ответа
Селен мог бы быть хорошим способом пойти; он очень хорошо справляется с AJAX / JavaScript, а Adobe имеет расширение Selenium специально для тестирования Flash. У Selenium есть немного кривой обучения, но оно того стоит.
Если вы используете Apache, вы можете использовать ab
провести стресс-тестирование серверной части вашего приложения.
Apache HTTP-сервер для тестирования производительности
Не знаю, может ли он обрабатывать Flash и / или Javascript, хотя.
ab
это инструмент для тестирования вашего сервера Apache Hypertext Transfer Protocol (HTTP) Он разработан, чтобы дать вам представление о том, как работает ваша текущая установка Apache. Это особенно показывает, сколько запросов в секунду может обслуживать ваша установка Apache.
Как рекомендовал другой человек, Селен может быть хорошим здесь. Единственная проблема заключается в том, что если вы пытаетесь провести стресс-тестирование, один браузер Selenium не сможет обеспечить вам достаточный уровень параллелизма.
Моя компания, BrowserMob, предоставляет услуги нагрузочного тестирования на основе Selenium, в которых вы можете создавать более 100 одновременных сценариев Selenium, попадающих на ваш сайт. У нас также есть поддержка Flash с использованием собственных кликов, что означает, что вам даже не нужно выполнять хитрость, с которой связан Гарет (хотя это рекомендуется, если вы можете).
Тем не менее, только потому, что ваш сайт использует Flash, это не значит, что для тестирования производительности обязательно требуется настоящий браузер. Если компонент Flash говорит на необработанном HTTP, то такой инструмент, как JMeter или служба "Виртуальный пользователь" моей компании (т. Е. Не использует Selenium), вероятно, будет работать. Если он говорит AMF через HTTP, вы все равно можете это сделать, но обычно это немного сложнее. Но если вы действительно хотите протестировать такие вещи, как потоковое видео, возможно, вам придется пойти немного дальше.
Для внутреннего PHP я бы просто использовал таймеры для каждого метода и попытался бы потратить несколько миллисекунд здесь и там. Я бы не стал слишком беспокоиться о PHP.
Для внешнего стресс-теста я бы забил его, используя что-то вроде iMacros.
Веб-тестирование
Веб-профессионалы могут использовать iMacros для функционального, производительного и регрессионного тестирования веб-приложений. Встроенная команда STOPWATCH фиксирует точное время отклика веб-страницы. iMacros также включает поддержку многих элементов AJAX.
Надеюсь это поможет.