我从原来专用服务器上的基于连接和视图的策略切换到了针对Google的多个小查询策略。对我来说,这也更容易维护,在我的开发计算机上没有明显的性能差异。但是在我的和Cloud上,它确实很慢。
例如,如果我想查询最后50篇文章,在我的dev机器160 my上需要4-5秒。每一篇文章都有极少数。12个查询,平均15个查询。这是750个查询,如果我监视Cloud,我注意到它总是以每秒200个查询为上限。CPU只是偷看了20%,我只有一个db-N1标准-1与SSD。每秒200个查询也意味着,如果我想得到最后100篇文章,它将花费8-9秒,以此类推。
我已经尝试将anything实例类设置为F4,以查看这是否会改变任何情况。它并没有改变任何东西,号码是一样的。我没有尝试增加DB实例,因为我看不到它的极限。
该怎么办呢?
软件:我使用GO与一个无限的mysql连接池。
编辑:我甚至更改为db-n1-标准-2实例,没有区别:(
EDIT2:我在周末尝试了一些改变,1500IOPS,4个内核等等,但是没有显示出预期的改进。使用图表已经表明没有“硬件”限制。我设法隔离了缓慢的查询..。这是一个超级简单的问题,我通过country-ISO2 2和language-ISO2 3查询国名,这两个键都是索引的,但每个键需要50 it。所以我把所有的国家都缓存在记忆中然后就完成了。
https://stackoverflow.com/questions/51241488
复制相似问题