Возможный дубликат:
Как вы выполняете нагрузочное тестирование и планирование емкости для веб-сайтов
Я разрабатываю приложение PHP MYSQL, работающее на сервере Linux. Мне было интересно, есть ли способ проверить, сколько одновременных пользователей может обрабатывать приложение?
Спасибо
На самом деле вам нужно проверить две вещи:
Чтобы найти предел, вы можете использовать тестовый тест apache (ab) для очень грубого стресс-тестирования или Selenium для более сложных вещей. Что касается масштабирования, вам необходимо повторить предыдущие тесты с приложением, работающим на более мощном оборудовании (масштабирование). Затем с вашим приложением, запущенным с нескольких веб-серверов (масштабирование). Аналогично бэкэнду базы данных, но это немного сложнее. При выполнении этого типа тестов было бы полезно контролировать ваши машины с помощью таких инструментов, как collectd / munin / zenoss и включить журнал медленных запросов в mysql, чтобы вы могли легко определить любые узкие места. Для масштабного тестирования вы можете использовать Amazon EC2 - 240 долларов, 100 серверов на один час, если я правильно помню. Общая идея при попытке профилировать (веб-приложение) состоит в том, чтобы иметь четкий путь масштабирования - то есть, где именно вам нужна дополнительная мощность, как вы можете предоставить ее в производственной среде и когда вы должны это сделать.
Я бы использовал PHP (поскольку вы его уже знаете) и написал бы сценарий для запроса вашего приложения с удаленного компьютера. Написать сценарий для входа в систему и навигации по нему не должно быть слишком сложно, тем более что вы написали целевое приложение.
Напишите свой сценарий для проверки задержки и других переменных и обязательно следите за использованием ресурсов на сервере приложений.
Есть несколько инструментов для тестирования вашего приложения под нагрузкой. Больше всего я слышал о JMeter. Я считаю, что вы также можете использовать часть инфраструктуры Selenium для генерации нагрузочного тестирования.