Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 应用程序引擎标准连接到云SQL延迟_Php_Mysql_Google App Engine_Google Cloud Sql - Fatal编程技术网

Php 应用程序引擎标准连接到云SQL延迟

Php 应用程序引擎标准连接到云SQL延迟,php,mysql,google-app-engine,google-cloud-sql,Php,Mysql,Google App Engine,Google Cloud Sql,我有一个我们设计的相当“基本”的应用程序,最初是在本地plesk服务器上,我们迁移到GAE/GSQL/GCS。应用引擎,mysql,云存储 以下是一些背景信息: 该应用程序基于PHP,在本地服务器上运行良好。当我们迁移到云端时,我们会注意到这种随机但极其延迟的情况。这是如此糟糕,应用程序超时,并给出了一个SPDY超时错误。我们利用cloudflare为SPDY提供帮助,所以我们从那里开始,他们说这是服务器。然后我们去了谷歌。我们一直在来回奔波,我正在寻找其他的帮助途径 我正在F2标准GAE实例和

我有一个我们设计的相当“基本”的应用程序,最初是在本地plesk服务器上,我们迁移到GAE/GSQL/GCS。应用引擎,mysql,云存储

以下是一些背景信息:

该应用程序基于PHP,在本地服务器上运行良好。当我们迁移到云端时,我们会注意到这种随机但极其延迟的情况。这是如此糟糕,应用程序超时,并给出了一个SPDY超时错误。我们利用cloudflare为SPDY提供帮助,所以我们从那里开始,他们说这是服务器。然后我们去了谷歌。我们一直在来回奔波,我正在寻找其他的帮助途径

我正在F2标准GAE实例和G1小型CloudSQL实例(gen 2)上运行一个应用程序。所有相同的区域/区域。还有一个故障转移sql实例

它确实没有模式,但应用程序上的用户经常会注意到错误的超时,60秒后超时就会消失。(哪个指向PHP超时?我们检查了代码,它在本地服务器上运行正常)

我还没有在这个应用上有很多流量(可能一天只有几个用户),所以我不知道这是否是流量负载。以下是一些基本的统计数据:

一些谷歌工程师表示,我们的应用程序在扩展方面存在问题(QPS永远不会达到1)

并询问我们是否正在穿线。我们不是。我们也不使用memcache

我还看到了很多这样的东西:

看起来像这个bug:

但我不确定这是否都是相关的

我们试着通过谷歌的技术支持,他们说我们有“手动锁”,但我们的开发团队不同意,也不知道这到底意味着什么。同样,应用程序(会话处理等)代码的相同框架也被许多应用程序使用,其中有大量用户(非GAE,他们在AWS上进行计算),因此这是我们首次尝试GAE

我们使用标准的MySQL连接参数进行连接,在许多应用程序中使用相同的框架,并且运行良好。我们使用所需的代理连接到CloudSQL

速度和持续滞后不应该存在。我们不知道这个问题可能是什么。我的问题是:

1) 你看到这里有什么问题吗?所有数据库日志都在上面和摘要中

2) 你能帮我理解这里可能出了什么问题吗


谢谢大家!

从您的屏幕截图中我能看到的最大延迟峰值大约是上午9:00时的20秒,这与您的查询、读/写操作和内存使用量最大的时间差不多

即使您有少量用户,但他们可以执行许多查询,如果GCP支持表明它在缩放方面存在问题,您可以检查auto scale属性并查看它是否处于启用状态

从您的图片和云SQL文档中可以看到,我建议您使用云SQL实例


再看看诊断问题,也许你可以得到更多关于导致MySQL中断连接错误的原因的信息。

从你的屏幕截图中我能看到的最大延迟峰值大约是上午9:00时的20秒,也就是你有最多查询、读/写操作和内存使用的时间

即使您有少量用户,但他们可以执行许多查询,如果GCP支持表明它在缩放方面存在问题,您可以检查auto scale属性并查看它是否处于启用状态

从您的图片和云SQL文档中可以看到,我建议您使用云SQL实例


还可以查看诊断问题,也许您可以获得导致MySQL中止连接错误的更多信息。

我们发现运行的一个查询导致了巨大的数据库延迟

我们发现一个正在运行的查询导致了巨大的数据库延迟

那么您认为答案是为只有5个用户的数据库添加读取副本吗?我不知道这是否是正确的答案我更新了我的答案,提供了一个更具体的细节,说明我是如何做到的。所以你认为答案是为一个只有5个用户的数据库添加读取副本?我不知道这是否是正确的答案。我更新了我的答案,提供了一个关于我是如何做到这一点的更具体的细节。一些关于你的错误的文档。谷歌建议这根本不会影响性能。我的意思是,如果我的应用程序上有4-5个用户,这真的相关吗?用户数量不是关键。每秒最多可执行300个查询,并且有大量数据库文件同步。我认为你的应用引擎实例和云SQL实例对于你生成的DB流量来说都太小了。试着对两者进行碰撞并测量结果。一些关于你的错误的文档。谷歌建议这根本不会影响性能。我的意思是,如果我的应用程序上有4-5个用户,这真的相关吗?用户数量不是关键。每秒最多可执行300个查询,并且有大量数据库文件同步。我认为你的应用引擎实例和云SQL实例对于你生成的DB流量来说都太小了。尝试两种方法的碰撞并测量结果。