Несколько недель назад я был на презентации, где один парень сказал, что в своей компании он использовал обратный прокси-сервер, который записывает все входящие HTTP-запросы к производственному серверу. Затем он может выполнить их на другом сервере для тестирования производительности.
Я много искал об этом, но так и не нашел идеального инструмента для этого. Кто-нибудь знает прокси-сервер, который может это сделать?
Squid позволяет перенаправлять любые URL-адреса - поэтому, когда вы имеете дело только с одним запросом за раз, очень легко написать свой собственный обработчик, который записывает детали отправленных заголовков HTTP, а затем ретранслирует запрос реальной цели, необязательно запись ответа. В качестве альтернативы есть http :: рекордер который делает большую часть этого за вас, хотя я не знаю никого, кто использовал бы в таком масштабе.
Проблема заключается в том, что вам необходимо убедиться, что у вас есть непротиворечивый образ вашей системы (то есть содержимое базы данных) в начале периода записи, для которого вы затем можете запустить воспроизведение.
Звучит похоже на переиграть атака. Я не уверен, какие веб-серверы могут делать это автоматически, но вы определенно можете написать сценарий самостоятельно.
Обратному прокси-серверу необходимо будет регистрировать все транзакции. Затем вы можете написать сценарий для анализа журнала и воспроизведения соединений с URL-адресами. Вы также можете моделировать количество подключений в секунду, а также последовательность подключений.
Однако есть некоторые ограничения. В основном информация о сеансе может быть потеряна, если она не сохраняется в URL-адресе.
Так что результаты могут быть не очень полезными. Это просто необходимо иметь в виду. В конечном итоге вам нужно четко понимать, каковы ваши цели теста.