如何提高Google App Engine上request_logs的吞吐量
从App Engine下载日志并不是一件简单的事。请求是分批处理的;appcfg.py
并不是用普通的文件输入输出,而是使用一个临时文件(按时间倒序排列),最后再把这些内容添加到本地的日志文件中。在添加的时候,需要找到一个“标记”,这让日志的轮换变得困难,因为必须留出足够的旧日志,以便appcfg.py
记住上次处理到哪里了。最后,谷歌会在一段时间后删除旧日志(我用的应用是20分钟)。
当应用规模扩大,日志生成速度加快时,如何提高获取日志的速度,以免appcfg.py
跟不上呢?
1 个回答
1
你可以增加每次请求的日志批量大小。在最新的SDK版本(1.3.1)中,查看一下 google_appengine/google/appengine/tools/appcfg.py
文件,大约在861行的位置(这里是 LogsRequester
类的 RequestLogLines
方法)。你可以修改“limit”这个参数。
我设置的是1000,效果很好。