App Engine High CPU Warning - действительно ли это проблема? - PullRequest
2 голосов
/ 11 марта 2011

Я недавно закончил свое приложение и с тех пор начал тестирование.Один из моих основных ресурсов составляет 14 RPC, я приложил все усилия, чтобы уменьшить время процессора, т. Е. Помечать свойства как неиндексированные, однако я действительно не могу уменьшить количество GET, PUT и запросов, которые происходят в запросе.

Среднее время ЦП, связанное с запросом сегодня, составляет:

ms=381 cpu_ms=1192 api_cpu_ms=1122 cpm_usd=0.033597

Это колеблется и может быть меньше, однако оно редко падает достаточно низко, чтобы удалить предупреждения о высоком ЦП.

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

Итак, мой вопрос: меня должны беспокоить предупреждения о высокой загрузке ЦП или это то, с чем сталкивается большинство людей?

Ответы [ 3 ]

3 голосов
/ 11 марта 2011

Пока ваше время настенных часов (в первый раз за это время) в среднем составляет менее 1000 мс, ваше приложение будет продолжать автоматически масштабироваться независимо от того, сколько ЦП мс использует ваше приложение.Как объясняет systempuntoout, предупреждения о высокой загрузке ЦП являются пережитком, когда мы ограничивали высокие запросы ЦП для каждого URL-адреса, и больше не применяются, кроме как в качестве руководства по оптимизации.

2 голосов
/ 11 марта 2011

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

Несколько лет назад число Высокая загрузка ЦПЗапросы в определенное время были ограничены, и предупреждение было полезно для отслеживания и исправления приложения, чтобы оно оставалось выше этой конкретной квоты;этот предел был затем удален, и предупреждение High CPU теперь полезно просто для идентификации части программы, которую следует проверить на оптимизацию (где это возможно).

1 голос
/ 11 марта 2011

На практике у меня никогда не возникало проблем с нехваткой экземпляров для обработки пользовательских запросов, даже если я выполняю много более длительных заданий в фоновом режиме [например, дорогостоящее задание mapreduce].Конечно, ваш бюджет должен покрывать ваши расходы на процессор, иначе ваше приложение не сможет работать.

Однако я помню, как читал в документации, что, если большинство ваших запросов занимает много времени, тогда приложениеДвижок может не раскрутить дополнительные экземпляры для обработки запросов.Однако, если большинство ваших запросов будут обработаны быстро, меньшая часть долго выполняющихся заданий не должна вызывать никаких проблем.(К сожалению, я не могу найти статью / документы с конкретными инструкциями по более длительным запросам на данный момент.)

...