从PHP PDO应用引擎到Cloud SQL的连接缓慢

时间:2018-11-16 10:40:02

标签: php google-app-engine google-cloud-sql

我正在尝试通过云SQL连接将PHP55应用程序部署到GAE(标准实例)。

我正在使用unix_socket DSN连接,如文档所示,但是到云sql实例的连接时间非常慢(有时可能需要200毫秒),并且对应用程序响应时间有严重影响(应回答在50毫秒内,但实际上平均响应时间为150毫秒):

"timer (seconds)": {
            "begin": 0,
            "app": 0.043889999389648,
            "pdoinit": 0.000070095062255859,
            "pdook": 0.20270991325378,
            "pdoutf8": 0.037790060043335,
            "controller": 0.062999963760376,
            "preparequery": 0.015130043029785,
            "executequery": 0.0024099349975586,
            "return": 0.0051000118255615,
            "returnok": 0.00011014938354492
        }

以下是来自f1-micro计算引擎实例的相同性能检查:

"timer (seconds)": {
            "begin": 0,
            "app": 0.0002980232238769531,
            "pdoinit": 0.000014066696166992188,
            "pdook": 0.0019490718841552734,
            "pdoutf8": 0.0009219646453857422,
            "controller": 0.0030989646911621094,
            "preparequery": 0.005979061126708984,
            "executequery": 0.0009448528289794922,
            "return": 0.0031609535217285156,
            "returnok": 0.000025033950805664062
        },

我的应用程序和Cloud SQL实例位于相同的位置ID。所以这里没问题。

让另一个应用程序从同一区域的计算引擎访问云SQL,没有任何问题。

也许还有我在文档中没有看到的另一种连接方法?我看到很多人遇到这样的问题,没有解决方案。也许应用引擎不是正确的解决方案?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

正式的CloudSQL文档基本上指出,除了AppEngine文档(即套接字)中提到的方法外,没有其他方法可以通过AppEngine标准连接到CloudSQL:

  

从App Engine连接到Cloud SQL的常规信息

     

从App Engine标准或Flex环境连接到Cloud SQL时,只能使用以下链接的说明进行连接。您不能使用IP地址(公共或私有)从App Engine应用程序连接到Cloud SQL。从App Engine应用程序到Cloud SQL的连接是安全和加密的;您不需要配置TLS / SSL。

SOURCE

如果这是应用程序的选项,则可以尝试使用Compute Engine虚拟机或kubernetes Engine,以便能够使用常规tcp连接。甚至可以使用私有IP来提高网络性能。