Использование инструмента Microsoft Web App Stress для стресс-теста загрузки изображений - PullRequest
1 голос
/ 15 июля 2009

Я разработал веб-приложение, которое хочу пройти стресс-тестирование. Приложение использует 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.

спасибо, ребята

...