如何减少 Google 应用引擎后端中的日志服务 RPC

发布于 2024-11-16 06:52:39 字数 480 浏览 3 评论 0原文

在此处输入图像描述

上面是对我的应用程序的单个 GET 请求的 appstats 图像,

在此处输入图像描述

此图像显示单个 logservice RPC 的 RPC 跟踪

loservice 调用的数量是否会对应用程序产生负面影响(对于 5 个 urlfetch) RPC 在使用后端时,大约有 80 个日志服务 RPC。我不知道这些 logservice rpc 调用的原因,如何减少 logservice RPC 的数量,

在后端文档中,有关 logservice 的文档有限,

logservice.flush()

如何控制后端中的日志刷新,而不是随机 logservice 调用 谢谢

enter image description here

above is the image of appstats of a single GET request to my app,

enter image description here

this image shows the RPC traces of a single logservice RPC

do the number of loservice calls effect the app negatively, for 5 urlfetch RPC's there are around 80 logsservice RPC's while using a backend. i dont know the reason for these logservice rpc calls, how do i reduce the number of logservice RPC's,

in the backends documentation there is limited documentation about logservice

logservice.flush()

how do i contril log flushing in backends, instead of random logservice calls
thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

李不 2024-11-23 06:52:39

您可以通过更改 logservice API 设置的一些值来配置日志刷新,记录为 此处来源)。默认值是每 10 秒、1024 字节或 20 行刷新一次,以先到者为准。您可以单独禁用其中任何一个,或禁用整个自动刷新过程。

完全禁用自动刷新:

from google.appengine.api import logservice
logservice.AUTOFLUSH_ENABLED = False

# When you want to flush manually, do this
logservice.flush()

每 20 行刷新一次,对时间或字节没有限制:

from google.appengine.api import logservice
logservice.AUTOFLUSH_EVERY_SECONDS = None
logservice.AUTOFLUSH_EVERY_BYTES = None
logservice.AUTOFLUSH_EVERY_LINES 20 # The default, but set here for clarity

不要对日志刷新太吝啬 - 正如您所观察到的,RPC 非常快,并且不刷新日志可能会很痛苦当你需要调试某些东西时。

You can configure log flushing by changing some of the values set by the logservice API, documented here (source). The default is to flush every 10 seconds, 1024 bytes, or 20 lines, whichever comes first. You can disable any of them independently, or disable the whole autoflush process.

To disable autoflush entirely:

from google.appengine.api import logservice
logservice.AUTOFLUSH_ENABLED = False

# When you want to flush manually, do this
logservice.flush()

to flush every 20 lines, with no limit on time or bytes:

from google.appengine.api import logservice
logservice.AUTOFLUSH_EVERY_SECONDS = None
logservice.AUTOFLUSH_EVERY_BYTES = None
logservice.AUTOFLUSH_EVERY_LINES 20 # The default, but set here for clarity

Don't be too stingy with log flushing - as you observe, the RPCs are very fast, and not having your logs flushed can be a real pain when you need to debug something.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文