Что означают значения Appstats? - PullRequest
6 голосов
/ 07 марта 2011

Взять эти статистические данные из поста из блога App Engine в качестве примера:

real = 107ms  
cpu = 141ms  
api = 388ms  
overhead = 1ms

RPC Total: 63ms (388ms api)   
Grand Total: 107ms (530ms cpu + api)

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

Меня смущают другие числа:

  • Что именно делают real, cpu и apiзначит?
  • Чем API отличается от общего числа RPC?
  • Что такое "общий итог"?

1 Ответ

8 голосов
/ 07 марта 2011

Это мое понимание:

  • real - это время, измеренное часами. Время истекло.

  • api - это время, потраченное на RPC, например, на доступ к хранилищу данных. Это действительно не время, а определенное количество вычислительных ресурсов, измеренных во времени.

  • cpu использование - это время, потраченное на выполнение кода. Опять же, это не время, а использование ресурсов, измеренное во времени.

  • api отличается от RPC Total только тем, что общее количество RPC показывает количество часов, прошедших за время api. Из-за параллелизма можно выполнить 388 мс вычислений за 63 мс. Так, RPC Total показывает как потраченное время, так и использование ресурсов.

  • Grand Total - общее время стены (такое же, как real), с суммой cpu, api и overhead. В этом случае 530 мс квоты используются в 107 мс.

  • overhead - это, конечно, время, «потраченное впустую» в ожидании «реальной» работы. В основном это ресурсы, используемые самим AppStats.

Подробнее см. Документ Appstats: Инструментарий RPC для Google App Engine . Автор Guido van Rossum.

Гвидо ван Россум выступил с докладом на Google I / O 2010 под названием Appstats - Инструментарий для App Engine , где он кратко обсуждает это. Это отличный разговор, чтобы узнать о App Engine, а также об оптимизации и инструментарии в целом. Это около часа.

...