2012-03-14 5 views
8

Я использовал jMeter для тестирования производительности приложения appengine.Тест производительности приложений App Engine

Я создал нить группу

  • 500 пользователей,
  • сползать период: 0 секунд
  • и петли к 1

и запустил тест.

Он создал 4 экземпляра в приложении. Но интересно, > 450 запросов обрабатывались одним экземпляром.

Я снова проверил тест с этими экземплярами, все еще большинство запросов (> 90%) собирались в том же экземпляре.

  • типа Instance: F1 Класс
  • Max Idle Экземпляры: (автоматические)
  • Минимальная Pending Задержка: (Автоматический)

Я получаю гораздо более высокую латентность.
Что здесь не так? Создание нагрузки от 1 IP, есть ли проблемы?

ответ

0

Когда вы говорите «Я получаю гораздо более высокую задержку», что именно вы получаете? Считаете ли вы, что это слишком медленно?

Если проблема с задержкой, вы можете уменьшить максимальную задержку ожидания в настройках приложения. Если вы попробуете это, я думаю, вы увидите, что ваши запросы распространяются по всем экземплярам.

Моя догадка заключается в том, что 2-3 случая ожидания развернулись в ожидании повышенной нагрузки, но на самом деле не нужны для вашего теста.

+0

для конкретного теста я получил среднее время ожидания ок. 10 секунд. В обычных случаях (без использования стресс-теста jmeter) он составляет около 50 мс. Если те запросы, которые связаны с несколькими экземплярами, могут получить гораздо лучшие результаты. Я попробую ваше решение. И дайте знать. Спасибо. – Dipin

+0

все еще я сомневаюсь, почему второй тест также взял тот же экземпляр для запуска и дал мне более высокие задержки. !!! лишь немногие из них использовали другие. – Dipin

+0

количество экземпляров увеличено, небольшое изменение в распределении, все еще высокие значения задержки.! – Dipin

3

Ваша проблема в том, что вы не используете реалистичное значение увеличения. AppEngine, как и большинство решений для автоматического масштабирования, требует разумного времени для развертывания нового оборудования. Во время этого процесса при создании новых экземпляров задержка может увеличиться, если произошло значительное и внезапное увеличение трафика.

Выберите значение увеличения, которое представляет собой тип всплесков/скачков, которые вы реально ожидаете увидеть в разделе «Производство», а затем запустите тест. Используйте значения из этого теста, чтобы определить, сколько экземпляров appEngine вы бы «всегда были», тем выше это значение, чем меньше влияние всплеска, но, очевидно, более высокие затраты.

+0

Я уточнил, что я снова проверил тест с этими экземплярами (4 экземпляра), все же большинство запросов (> 90%) были в одном экземпляре. и давая мне ошибки и высокие задержки. – Dipin

+1

Возможно, вы захотите прийти к этому с другого направления: если вы выработаете наивысший пик, который вы когда-либо ожидали получить после развертывания этого приложения, вы можете настроить свой тест для его представления. В основном это (по моему опыту), что appEngine не является хорошим решением для приложений с большим объемом и очень сложными приложениями, и он не разработан (вообще), чтобы хорошо работать с агрессивными синтетическими нагрузками. Заметка. Вероятность того, что Google использует какую-то проверку статуса, чтобы решить, как сбалансировать нагрузку, это _probably_ на основе интервала, поэтому причина, по которой вам нужно медленно наращивать скорость ... –

Смежные вопросы