性能:数据存储写入与请求日志写入

标签 performance google-app-engine

我们希望通过我们的应用收集使用情况统计信息。 因此,我们希望在服务器端的某个地方跟踪用户操作。

就性能而言,哪个选项更合适:

  1. 在 App Engine 请求日志中跟踪用户操作。即为每个用户操作写入一个日志条目。
  2. 跟踪数据存储区表中的用户操作。为每个用户操作编写一个条目。

我猜请求日志写入比数据存储写入快得多。它是否正确? 您有哪些经验和建议?

谢谢: 亨宁

最佳答案

我可以确认(仅通过我自己的经验观察:我没有在官方文档中看到这个问题)写入日志条目比写入存储条目更快。考虑一下,这是有道理的:日志条目总是附加的,没有索引,没有特定的事务问题(超出每个日志条目写入的原子性)等等;由于受到如此严格的限制,因此可以对它们进行更加优化是有道理的。

但是,我曾经(一年多前的预测试阶段非常早的时候)观察到一个情况,我认为应该有一个我写过的日志条目,但只是找不到它;我无法重现这一观察结果,这可能是我的代码中的一个小故障,或者是 GAE 中一个已修复的错误,但这让我对数据完整性产生了一点疑问——如何保证日志的完整性?除非我在文档中明确看到相关内容,否则我不会觉得我可以指望日志具有 100% 的完整性——如果不小心丢失百万分之一的记录将是一场绝对的悲剧,也许会选择商店的更高保证值得性能影响。

关于性能:数据存储写入与请求日志写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993200/

相关文章:

python - 如何编写一个高效的__dict__重载函数?

performance - 将代码放在单独的函数中怎么可能提高性能?

python - 当前使用 "for loop"的 pandas 数据帧转换的性能优化

mysql - 在控制台上运行相同的查询需要两次时间?

java - App Engine createLogoutURL(url) 最大 url 长度?

google-app-engine - Google Channel API - 套接字未在某些客户端上打开

java - 如何每秒做 n 次?

angular - Google Cloud App Engine 上的刷新页面抛出 404

google-app-engine - 多个 DKIM 和 SPF DNS 记录

python - 如何测试 Appengine 中 ReferenceProperty 的有效性?