我正在为自己维护一个基于Google应用引擎的博客应用(blog.wokanxing.info,它是中文版)。这是自首次部署以来的两三年,我从未遇到任何配额问题,因为它的简单性和访问次数很少。
然而,自上个月初以来,我注意到该应用程序不时报告500服务器错误,而在管理面板中,它显示了一个神秘的快速消耗的免费datatstore读取操作配额。 在一小时内消耗大约10%的免费读取配额(~5k操作数),但我只计算了十几个涉及数据存储读取操作的请求,30个顶部,这意味着平均150到每个请求200个读操作,这听起来不可能。
我几个月没有对我的代码库进行任何更改,我也没有看到数据存储或引用政策的任何变化。尽管如此,它还让我感到困惑,如何消费。我经常使用 memcache ,这使得第一页成为最大的播放器,它使用Post.all.order('-date').fetch(10, offset)
获取第一个线程。其他请求仅使用Post.get_by_key_name
获取单个模型并迭代post.comment_set
。
抱歉我的英语不好,但有人能给我一些线索吗?感谢。
答案 0 :(得分:0)
从管理控制台检查您的日志。 不要仅检查错误,而是检查日志中的所有类型的消息。
查找机器人/网络抓取工具发出的请求。在大多数情况下,您可以通过单词“robot”或“bot”来检测这样的“用户”(如果他们是诚实的话......)。 您可以做的第一件事是编辑“机器人”文件。有关详细信息,请阅读How to identify web-crawler?。此外,GAE还帮助使用“机器人”文件。
如果失败,请尝试检测机器人/机器人使用的IP地址。使用GAE管理控制台将这些地址放入黑名单并再次检查您的配额消耗。