Google app engine 谷歌云SQL性能?

Google app engine 谷歌云SQL性能?,google-app-engine,google-cloud-sql,Google App Engine,Google Cloud Sql,我从旧的专用服务器上基于连接和视图的策略切换到谷歌云的多个小查询策略。对我来说,这也更容易维护,在我的开发机器上,没有明显的性能差异。但在我的应用程序引擎和云SQL上,速度非常慢 例如,如果我想查询最近50篇文章,在我的开发机器160ms上需要4-5秒。对于每篇文章,至少有12个查询,平均15个查询。这大约是750个查询,如果我监视云SQL,我注意到它总是以每秒200个查询为上限。CPU只占20%,我只有一个带SSD的db-n1-standard-1。每秒200次查询也意味着如果我想得到最后10

我从旧的专用服务器上基于连接和视图的策略切换到谷歌云的多个小查询策略。对我来说,这也更容易维护,在我的开发机器上,没有明显的性能差异。但在我的应用程序引擎和云SQL上,速度非常慢

例如,如果我想查询最近50篇文章,在我的开发机器160ms上需要4-5秒。对于每篇文章,至少有12个查询,平均15个查询。这大约是750个查询,如果我监视云SQL,我注意到它总是以每秒200个查询为上限。CPU只占20%,我只有一个带SSD的db-n1-standard-1。每秒200次查询也意味着如果我想得到最后100篇文章,需要8-9秒,以此类推

我已经尝试将appengine实例类设置为F4,看看这是否会改变什么。它没有改变任何东西,号码也一样。我没有尝试增加DB实例,因为我看不出它是否处于极限

怎么办

软件:我使用GO和一个无限的mysql连接池

编辑:我甚至更改为db-n1-standard-2实例,没有区别:(


EDIT2:我在周末尝试了一些改变,1500 iops,4个内核,等等,但没有显示出预期的改进。使用率图表已经表明没有“硬件”限制。我设法隔离了缓慢的查询…这是一个超级简单的查询,我通过country-ISO2和language-ISO3查询国家名称。这两个键都被索引,每个键仍然需要50毫秒。所以我只是将所有国家缓存在memcache中并完成了。Google Cloud SQL使用GCE VM实例,所以适用于GCE的东西适用于Cloud SQL

当您创建一个
db-n1-standard-1
实例时,您的网络吞吐量将被限制为250 MB/s,但您的读/写(a)磁盘吞吐量和(b)IOPS速度将被限制为,即:

  • 写作:4.8ᵅ|300ᵇ
  • 改为:4.8ᵅ|300ᵇ
您可以查看实例详细信息中缺少的内容:


如果您想提高实例的性能,请按照上面链接中的建议增加其vCPU数量和存储容量/类型。

您是否可以发布导致性能降低的查询代码?@Y2H您是指“纯”吗来自所有12个查询的SQL?我在周末尝试了所有这些,1500 iops,4个内核,等等,但没有显示出预期的改进。使用率图表已经表明没有“硬件”限制。我设法隔离了缓慢的查询…这是一个超级简单的查询,我通过country-ISO2和language-ISO3查询国家名称。两个键都被索引,每个键仍然需要50毫秒。所以我只是将所有国家缓存在memcache中并完成了…@tiega,我可以请您将您的解决方案作为答案发布吗。