2013-12-09 2 views
1

Запуск приложения Django на Appengine нам нужно сделать запрос, который возвращает ок. 450 строк на запрос, включая соединения M2M prefetch_related и select_related.Проблемы с параллелизмом с django on appengine

Когда мы делаем много одновременных запросов, время запроса для каждого запроса увеличивается таким образом, что все запросы заканчиваются одновременно.

Выполнение одних и тех же одновременных запросов при установке приложения Django без приложения или в экземпляре appengine с параметром threading, установленным на false, не показывает этого поведения.

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

Кто-нибудь видел это раньше?

+0

Является ли это с помощью Cloud SQL? Вы видите это на dev_appserver или на производстве? – dragonx

+0

Это использование Cloud SQL на appengine (production). не на dev_appserver. – user1658078

ответ

0

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

Базовый уровень обрабатывает только 25 одновременных запросов. Вы сказали, что «многие» в вашем вопросе, так что если «много»> 25, что является источником вашей проблемы:

https://developers.google.com/cloud-sql/pricing

+0

Мы попробовали модернизацию для большего уровня, и это не помогло. Мы также запускали необработанные запросы с помощью инструмента sql query, повторяя одни и те же запросы одновременно, и это не сработало. – user1658078

+0

Запустили ли вы тесты, чтобы показать, когда эта проблема начнет появляться? т.е. сколько параллельных запросов вам нужно, чтобы начать показывать проблемы? – dragonx

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