Зачем увеличивать задержку? - PullRequest
3 голосов
/ 26 марта 2012

Мы масштабируем количество пользователей в нашем Java-приложении GAE. Сейчас у нас примерно в три раза больше активных пользователей, чем несколько дней назад.

Мы заметили, что средняя задержка по данным панели мониторинга GAE увеличилась почти в 2 раза. Изменений в коде не было.

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

Каковы наиболее распространенные недостатки дизайна при реализации приложения appengine, которые могут привести к увеличению задержки по мере использования?

Раздор в хранилище данных? Данные, которые мы храним, находятся в отдельных группах сущностей для каждого пользователя, так что это маловероятно ...

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Вам необходимо предоставить больше информации о вашем приложении, например, записи в хранилище данных. Если многие клиенты пишут в хранилище данных, вы создадите пробку, если будете использовать один объект.

Что вам нужно сделать, это измерить каждую часть, сколько времени это займет, и сравнить результаты между двумя нагрузками.

0 голосов
/ 26 марта 2012

Кажется, есть проблема с задержкой при установке "threadsafe" в "yes".Возможно, вы столкнулись с той же проблемой , что и здесь: http://code.google.com/p/googleappengine/issues/detail?id=6323

Обновление: По умолчанию каждый веб-сервер обрабатывает только один запрос за раз.Если вы отметите ваше приложение как поточно-ориентированное, App Engine может отправлять несколько запросов на каждый веб-сервер параллельно.Для этого просто добавьте истинный элемент в appengine-web.xml, как описано в разделе Использование параллельных запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...