Инструмент нагрузочного тестирования для веб-приложений
Я пытаюсь загрузить веб-приложение, но мне трудно найти хорошие инструменты, которые доступны по цене. Я использую инструмент веб-тестирования нагрузочного тестирования, который довольно крутой, но ограничивает вас до 10 пользователей, а после этого он стоит тысячи.
Кто-нибудь знает какие-нибудь хорошие методы для нагрузочного тестирования веб-приложения?
Спасибо
6 ответов
JMeter определенно стоит посмотреть:
Относительно прост в освоении и довольно прост в настройке.
Если вы хотите, чтобы нагрузочный тест был на 100% совместим с вашим сайтом, я бы порекомендовал www.browsermob.com. они используют РЕАЛЬНЫЕ браузеры в своих нагрузочных тестах. Все, что вам нужно сделать, это записать сценарий селена с помощью аддона firefox selenium-ide, загрузить скрипт в browsermob и выполнить.
Однако есть и другие инструменты, которые работают на разных слоях. browsermob/selenium работает на слое GUI с реальными браузерами, я считаю, что они являются единственным инструментом нагрузочного тестирования, который делает это. HP Loadrunner (щелчок и сценарий), Neotys Neoload также работает на графическом слое. Однако они не используют настоящие браузеры, у них есть собственный встроенный браузер, который действительно не подходит для веб-приложений следующего поколения (web2.0/ajax и т. П.).
С другой стороны, у вас есть инструменты, которые работают на уровне http (отслеживает http-трафик и записывает HTTP-запросы get и post). Этот набор инструментов включает Grinder, jMeter. HP Loadrunner также имеет протокол на основе URL-адреса для решения этой проблемы (который также является наиболее популярным способом использования HP Loadrunner afaik). Однако этот маршрут заставляет вас включать логику приложения в ваши тесты, если вы тестируете многофункциональное интернет-приложение (ex ajax push / poll).
Таким образом, в основном все зависит от того, какое приложение вы собираетесь тестировать и каков ваш бюджет на инструмент тестирования.
Для полнофункциональных интернет-приложений я бы, вероятно, порекомендовал browsermob.com, основанный на селене, или применил собственную платформу для тестирования селена с использованием сети селен (требуется много оборудования). Единственным недостатком является то, что вам придется внедрить / купить свой собственный набор инструментов для мониторинга серверов, поскольку браузерная моба не имеет этого банкомата. А также, если вам нужно больше мониторинга на стороне клиента, вы, вероятно, захотите иметь прокси между browsermob / selenium.
Мониторинг - это то, где loadrunner действительно хорошо работает, у него есть все виды мониторов и графиков (на стороне клиента и на стороне сервера), где вы коррелируете графики и данные и легко обнаруживаете паттерны и проблемы в ваших прикладных и серверных системах. Однако HP Loadrunner не из дешевых.
Neoload - это инструмент, с которым я не очень хорошо знаком, но, думаю, он похож на младшего брата HP Loadrunner, гораздо дешевле, но с меньшими функциональными возможностями и мониторингом.
jMeter и Grinder являются инструментами с открытым исходным кодом для тестирования нагрузки, они являются мощными инструментами. Но недостатком является то, что они работают только на уровне http. Тем не менее, это только недостаток, если вам приходится работать с Ajax-приложениями. для базового веб-сайта без функций ajax/web2.0, где один http-запрос является загрузкой новой страницы. тогда это, вероятно, инструмент для вас.
Мы использовали сайт под названием http://loadimpact.com/ - он позволяет проводить тесты из разных мест и сценариев. Пока вы понимаете, что он делает и что говорит вам, это вполне разумно.
Попытка выполнить нагрузочное тестирование по бюджету является довольно сложной задачей и достичь значимых результатов, поскольку вы столкнетесь с узкими местами в сетях, если вы не используете несколько инжекторов и т. Д. Для симуляции реальных пользователей.
Джон
Отказ от ответственности: я основатель Cloud Assault
https://www.cloudassault.com/ - это сервис, который предоставляет услуги нагрузочного и масштабируемого тестирования для веб-сайтов, API-интерфейсов и интернет-инфраструктуры. Если вы делаете непрерывную интеграцию, проверьте нас. Вы можете управлять всем, начиная от создания, мониторинга и получения результатов тестов через наш API.