aki*_*adu 9 java performance google-app-engine
我想对GAE读取性能进行基准测试.从数据存储中提取了大约10,000个实体.这些实体包含3个属性名称(大约16个字符),描述(大约130个字符)和时间戳.没什么异常大的.
这是我看到的:
平均而言,读取10k个实体大约需要11秒. 不确定这是否被认为是快速,缓慢或合理,但不管它是不是太令人兴奋.
更有趣的发现是CPU计量. 执行此读取操作100次消耗大约3.0 CPU小时.费用是0.30美元.
鉴于此处没有CPU密集型算法,它是否会使GAE的CPU带宽相当昂贵?(当然,它以Python脚本等形式提供24/7 sys-admins,但仍然......)
或者这是我的Java代码中的东西:
http://github.com/akirekadu/GAE-Evaluation/blob/master/show.jsp
这不是你的代码,我相信你的结果.在我们自己的实验中,我们发现检索和(特别是)存储在CPU配额方面是非常昂贵的操作.
我们注意到:
索引很昂贵.如果你的写作不仅仅是阅读,那么请对你的索引吝啬.确保您了解indexed=False模型属性的属性,并密切关注自动生成到index.yaml中的内容.
如果你阅读的内容超过了你的写作,那么很多多索引可能都有意义.尽可能使用memcache.如果有意义,请使用实体组.
应用引擎API为您提供可提高效率的工具.它们很重要.如果您要写100行,则使用单个批量put()与100个单独的put()调用将大大减少CPU使用.
如果您的应用程序经常按照您的描述执行大型读取,您可能希望选择不同的解决方案(例如,像Slicehost或Linode这样的VPS)或不同的数据模型.每个应用程序都有不同的需求,WRT磁盘,CPU,内存等,所以我将后面的计算作为练习给读者.
HTH!
| 归档时间: |
|
| 查看次数: |
713 次 |
| 最近记录: |