我们已经在App Engine上使用Datastore创建了一个应用程序。现在我们需要使用Cloud SQL,因为我们想要使用联接、嵌套查询和函数(如average
、total
等)。每天的Cron作业将数据从Datastore迁移到Cloud SQL。
我正在查阅以下链接以了解有关性能和限制的基本信息:
- https://cloud.google.com/sql/docs/diagnose-issues#data-issues
- https://cloud.google.com/sql/pricing#v1-pricing
- https://cloud.google.com/sql/faq#sizeqps
到目前为止,看起来D0或D1层将满足我们的要求。
以下几点令我感到困惑:
a)什么是挂起连接,它会对什么产生影响? 不确定是否会发出1033 Instance has too many concurrent requests警告,当超过100个请求时。我们该怎么处理?我们可以创建250个连接,但同时只使用100个吗?
b)250个并发连接。 如果超过250个应该抛出Too Many Connections错误。
c)每个App Engine实例最多12个并发连接每个SQL实例。我们如何确保每个App Engine实例最多不超过12个连接?
我已经浏览了以下论坛:
如何在Google Cloud SQL(GAE)Python应用程序中管理数据库连接是一个好的方法?
但是人们在这方面还会遇到一些问题。
d) 我们进行了一次测试,使用了1000多个请求时出现了"Lost connection to MySQL server at 'reading initial communication packet', system error: 38(2013,“失去与MySQL服务器的连接,在'读取初始通信包'时产生系统错误:38”)"的操作错误。
我们有1500多人同时使用我们的系统,看起来它将失败。因此,我们不确定是否可以使用Cloud SQL解决上述问题。但是应该有解决方法。
有没有人能够提供帮助呢?