Использование инструмента стресса Microsoft Web App для стресс-теста загрузки изображений
Я разработал веб-приложение, которое хочу пройти стресс-тестирование. Приложение использует Flash SWF, чтобы пользователи могли просматривать изображения на своем компьютере и загружать их на веб-сервер. Этот SWF-файл будет читать изображения jpg из локальной файловой системы, изменять их размер и генерировать миниатюру, а затем загружать их как byteArray в сценарий AMFPHP, который записывает байтовые массивы в виде файлов jpg на веб-сервер, записывает изображение в базу данных и затем отправляет изображение в Amazon S3 для хранения.
Я пытался провести стресс-тестирование, используя WAS, который хорошо работает, потому что он записывает отправленную информацию заголовка и, следовательно, байтовый массив, чтобы я мог имитировать нескольких пользователей - хотя все они загружали одни и те же изображения!:).
Я обнаружил, что не все изображения попадают в S3 и не все изображения добавляются в базу данных. Я подозреваю, что это связано с тем, что сценарию требуется больше времени, чем позволяет WAS в поле задержки, поэтому мой вопрос -
Есть ли способ сказать WAS, что нужно дождаться завершения выполнения сценария, прежде чем двигаться дальше, вместо того, чтобы придерживаться задержки, указанной в интерфейсе WAS? Я думаю, что сценарий AMFPHP, который получает байтовый массив и записывает файл, не завершает работу, прежде чем изображение будет добавлено в базу данных или отправлено на S3.
Если бы я мог заставить WAS подождать, пока он не узнает, что сценарий завершен, я мог бы более четко увидеть, где находятся узкие места. Я имитирую около 100 клиентов (10 потоков * 10 сокетов), поэтому, вероятно, это налагает на этот шаг большую нагрузку, чем может быть обработано!
В этом случае инструмент тестирования не будет точно имитировать реальный сценарий, так как в действительности Flash будет ожидать ответа AMFPHP о том, что изображение было записано, прежде чем вызывать скрипт, который создает запись в базе данных и отправляет файл в S3? Должен ли я даже объединить эти сценарии в один сценарий, чтобы это не было проблемой?
Любые советы по этому поводу приветствуются. Наш веб-сервер является Windows 2003 IIS 6 машина.
Спасибо, парни