如何计算App Engine SDK本地测试环境中数据存储区读/写的总数?

时间:2014-01-07 23:39:55

标签: java google-app-engine

我有一个Google App Engine应用程序,并希望将其当前设计的估计成本与新设计进行比较。基本上我想:

  1. 在本地App Engine Java SDK测试环境中运行我的代码库的两个版本,
  2. 从每个中捕获一些关键统计信息(主要是数据存储读取和写入的数量),然后
  3. 编译并比较两组统计数据。
  4. 我知道“Appstats”工具,如果可能的话,尽量使用它会很棒。但是,它有两个严重的缺点:

    1. Appstats仅存储最近的1,000条记录,这对于我需要运行的测试操作的规模来说太小了。
    2. Appstats为App Engine提供“估计成本”,而不是精确数量的数据存储读取和写入。总而言之,了解读取和写入的总确切数量对我有用。
    3. 当我在Java SDK测试环境中本地运行应用程序时,我可以启动管理控制台的数据存储查看器,并查看数据存储区中每个实体发生的确切写操作数。真棒!

      不幸的是,我正在处理数十或数十万个实体,而数据存储查看器每个浏览器页面只显示10个实体。 :(所以,没有必要编写一个hacky屏幕抓取解决方案...我需要一些编程访问数据存储查看器用于显示这些数字的信息。假设这样的程序访问是可用的,它会很棒它还提供了其他与数据存储相关的统计数据(例如读取)。

      是否可以对本地SDK环境元数据进行任何此类编程访问?或者,是否有人采用完全不同的方法从本地测试运行中捕获此类统计数据?

1 个答案:

答案 0 :(得分:1)

数据存储

实际上,按实体计算实际上非常简单。

存储一个平均完全填充的记录,查看控制台并查看它所执行的写入次数,这是关于查看写入内容的所有操作。

减少写入的唯一方法是将属性标记为“未编入索引”。通过这样做,我将几个实体从8个写入减少到2个。

读取也很简单,只需阅读您需要的内容并在memcache中多次放置您需要的内容,并且只在您真正需要时才会保留。

图片

ImageService免费提供图像。

二进制/斑点

从Cloud Store提供二进制文件,您只需支付存储费用,无需读/写费用或带宽费用。