主にCPU Time関連で、各値の正確な意味を知りたいと思います。
宜しく御教授願います。
---------------------------------------------------------------------
1. 管理コンソールのログ上の値について
2011-05-07 20:42:53.656 (アクセスPATH) 200 4998ms 37518cpu_ms
28255api_cpu_ms (サイズ) (ユーザエージェント情報),gzip(gfe)
***.***.***.*** - - [07/May/2011:20:42:53 -0700] "GET (アクセスPATH) HTTP/
1.1" 200 (サイズ) - "(Referrer)" "(ユーザエージェント情報),gzip(gfe)" "(Host)"
ms=4999 cpu_ms=37518 api_cpu_ms=28255 cpm_usd=1.042369
のようなログがあった場合、
■ ms=xxxx
リクエストに対する所要時間(実時間・単位:ミリ秒)という認識ですが、
正しいでしょうか。
■cpu_ms=xxxxx
リクエストに費やしたCPU Time(単位:ミリ秒)という認識ですが、正しい
でしょうか。
■api_cpu_ms=xxxxx
リクエストに費やしたCPU Time中、(datastore等の)API処理に費やしたもの
(単位:ミリ秒)という認識ですが、正しいでしょうか。
■cpm_usd=x.xxxxxx
これがよく解っていません。
要したCPU-minutes per minuteなのでしょうか?
その場合、Quota上での制限の目安になるものと考えてよいのでしょうか?
http://code.google.com/intl/en/appengine/docs/quotas.html#Requests
の表に書かれている CPU TimeのMaximum Rate(単位:CPU-minutes/minute)
に対応する値かなと推測しているのですが。
---------------------------------------------------------------------
2. PythonのQuota APIについて
PythonのアプリケーションでCPU Timeを把握したい場合、
http://code.google.com/intl/en/appengine/docs/quotas.html#Monitoring_CPU_Usage_in_a_Request
に書かれているquota.get_request_cpu_usage()を用いると思うのですが、
■MHz(megacycles)→CPU Time変換について
quota.get_request_cpu_usage()は a number of megacycles で得られると
なっていますが、これをCPU Time(単位:ミリ秒)に変換するには、どの
ようにすべきでしょうか?
http://code.google.com/intl/en/appengine/docs/quotas.html#Requests
の
| CPU time is reported in "seconds," which is equivalent to the
number of CPU cycles that can be performed by a 1.2 GHz Intel x86
processor in that amount of time.
という記述に従えば、
1 cpu_second =1000 cpu_ms = 1.2 GHz = 1200 megacycles
により、
quota.get_request_cpu_usage() / 1.2
でCPU Timeへの変換が出来るように思うのですが、正しいでしょうか?
■API分のCPU Timeについて
| This number does not include CPU used by API calls.
となっているのですが、PythonではAPI分のCPU Timeを把握する方法は現状
無いということでしょうか?