我看到在標準的谷歌應用程序引擎的日誌一些神祕的時間字段這讓我好奇:GAE日誌字段中時間值的確切含義是什麼?
2011-05-09 21:56:00.577 /whatever 200 211ms 775cpu_ms 589api_cpu_ms
0.1.0.1 - - [09/May/2011:21:56:00 -0700] "GET /whatever HTTP/1.1"
200 34 - "AppEngine-Google; (+http://code.google.com/appengine)"
"****.appspot.com" ms=212 cpu_ms=776 api_cpu_ms=589 cpm_usd=0.021713
queue_name=__cron task_name=dc4d411120bc75ea8bbea773d23eaecc
特別:毫秒,cpu_ms,api_cpu_ms,他們每個人的兩次略有不同值。
此外,當我使用下面的GET請求簡單結構自己記錄時間信息時,它會打印一個稍低的值。在這種情況下,特別是 msecs,與官方。
protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
long t0 = System.currentTimeMillis();
//Do the stuff
long t1 = System.currentTimeMillis();
log.info("Completed in " + (t1-t0) + " msecs.\n");
}
所以,我的問題是:爲什麼我的測量時間結果和cpu_ms值之間的差異以及如何降低它? GAE日誌字段中時間值的確切含義是什麼?
我想優化我的代碼,我意識到基於上述事實,大多數時間(近600毫秒!)不會直接在doGet請求中使用。 (我使用JPA,URLFetch,這是一個cron任務。)