如何提高Google App Engine上request_logs的吞吐量

1 投票
1 回答
503 浏览
提问于 2025-04-15 19:11

从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,效果很好。

撰写回答