我一直在GAE上开发一个Java应用程序,该应用程序使用云sql,calender api,邮件API和数据存储等服务。所以我的问题是,我需要为访问我的应用程序的用户衡量这些服务的使用情况。这将基于它们在云sql上执行的I/O数或已存储的数据量。有什么办法吗?

最佳答案

没有内置的方法来计量每个用户的配额。您可能可以跟踪每个用户对这些资源的访问并将它们存储在数据存储中,尽管这会提高使用率。每次使用需要2次写入,如果已索引则需要4次写入。

如果您不需要精确的计量,并且可以在Google资源不足的情况下丢失计量数据,则可以将其作为用户名/id->计量数据存储在内存缓存中。它是尽最大努力提供的,如果与您自己的按应用程序的健全性限制联系在一起就足够了,并且无需向用户收费。

两者可以最佳地一起使用。每隔几分钟到一个小时,将一次内存缓存使用情况详细信息写入数据存储,如果数据从内存缓存中丢失(除非您购买了专用的内存缓存),请从​​数据存储中还原(可能是估计过去丢失期间的使用情况)。

10-06 06:44