Как уменьшить использование процессора GAE%? - PullRequest
3 голосов
/ 19 апреля 2011

Что вы сделали, чтобы убедиться, что% процессора низок? Любой пример кода, чтобы посмотреть?

Я спрашиваю, потому что каждое чтение / запрос к хранилищу данных, похоже, поднимает CPU% выше 100%, и я получаю желтую и красную подсветку на своей панели. Я читал откуда-то еще, что это нормально, но наверняка с этим можно что-то сделать.

Ответы [ 6 ]

7 голосов
/ 19 апреля 2011

Используйте appstats , чтобы получить более подробную информацию о любых длительных задачах. Он хорошо разбирается в том, как именно затрачивается процессорное время, и позволяет детализировать отдельные вызовы и просматривать стек, чтобы определить, какая команда выполняется долго.

Вызовы Urlfetch и базы данных, как правило, дороги. Как предполагает Сэм , оба могут быть memcached для очень значительной экономии.

appstats w00t

5 голосов
/ 19 апреля 2011

Вы профилируете свой код и повышаете его эффективность.

4 голосов
/ 19 апреля 2011

Операции с хранилищем данных дороги. Попробуйте уменьшить их использование с помощью memcache

3 голосов
/ 19 апреля 2011

Много ли перезапускается ваше приложение?

Я замечаю, что даже очень минимальное приложение загружается в течение 1 секунды, если оно какое-то время неактивно, - в журнале появляется предупреждающий маркер.

2 голосов
/ 20 апреля 2011

Я написал простую библиотеку для сокращения операций с хранилищами данных, используя локальный экземпляр и memcache в качестве слоев хранения вместе с хранилищем данных. Он также поддерживает кэшированные результаты GQL. Мне удалось сократить загрузку ЦП моих приложений как минимум на 50%. Вы можете попробовать, если вы не используете конфиденциальные данные.

2 голосов
/ 19 апреля 2011

Для страниц, которые вы можете кэшировать, вы можете использовать контроль кэша, если у вас есть обработчик запросов.

self.response.headers["Cache-Control"] = "public,max-age=%s" % 86400

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

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