我有一个我们设计的非常“基本”的应用程序,它最初是在本地的plesk服务器上,然后我们迁移到了GAE/GSQL/GCS。app engine、mysql、云存储。
以下是一些背景信息:
App是基于PHP的,在本地服务器上运行良好。当我们迁移到云时,我们注意到发生了这种随机但极其延迟的情况。这是如此糟糕的应用程序超时,并给出一个SPDY超时错误。我们利用cloudflare为SPDY提供帮助,所以我们从那里开始,他们说是服务器。然后我们去了谷歌。我们一直在来回奔波,我正在寻找其他的帮助途径。
我正在一个F2标准的GAE实例和一个G1-small CloudSQL实例(gen 2)上运行一个应用程序。所有相同的区域/区域。还有一个故障转移sql实例。
它确实没有模式,但应用程序上的用户经常会注意到错误的超时,它会在60秒后死亡。(它正确地指出了PHP超时?我们检查了代码,它在本地服务器上运行良好)
我在这个应用程序上还没有太多的流量(可能一天有几个用户),所以我不知道它是否是流量负载。以下是一些基本的统计数据:
一些谷歌工程师表示,我们的应用程序在缩放方面存在问题(QPS永远不会达到1)
然后问我们是不是在线程。我们不是。我们也还没有使用memcache。
我也看到了很多这样的东西:
它看起来像这个bug:https://github.com/GoogleCloudPlatform/cloudsql-proxy/issues/126
但我不确定这是否都是相关的。
我们试着通过谷歌的技术支持,他们说我们有“手动锁定”,但我们的开发团队不同意,也不知道这到底是什么意思。同样,同样的应用程序(会话处理等)代码框架也被用于许多拥有大量用户的应用程序(非GAE,他们在AWS上使用计算),所以这是我们对GAE的第一次尝试。
我们使用标准的MySQL连接参数进行连接,并在许多应用程序中使用相同的框架,它运行得很好。我们使用所需的代理连接到CloudSQL。
速度和恒定滞后不应该出现在那里。我们不知道这个问题会是什么。我的问题是:
1)您在这里看到什么问题了吗?以上是所有数据库日志和摘要
2)您能帮我理解一下这里可能出了什么问题吗?
谢谢!
发布于 2019-07-30 05:08:34
我们发现一个运行中的查询导致了巨大的数据库延迟。
发布于 2019-07-27 09:10:10
我能从你的屏幕截图中看到的最大的延迟峰值大约是上午9:00的20秒,这几乎是在同一时间你有最多的查询,读/写操作和内存使用量。
即使您的用户数量很少,他们也可以执行许多查询,如果GCP支持表明它在扩展时出现问题,您可以检查自动缩放属性,看看它是否已启用。
根据我从您的图像和查看Cloud SQL文档中看到的内容,我建议您使用Cloud SQL实例的a horizontal scale。
另外看一下diagnose-issues docs,也许您可以获得更多关于导致MySQL中止连接错误的原因的信息。
https://stackoverflow.com/questions/57227234
复制相似问题