首页 文章

在Google Cloud中,SQL Server速度过快

提问于
浏览
0

我正在将所有网站移动到谷歌 Cloud 并遇到性能问题 .

我在Compute Engine和Cloud SQL服务器上设置了一个VM实例 .

并使用提供的IP地址将Joomla网站从VM连接到Cloud SQL服务器 . (似乎是公共知识产权)

与在VM本身内部使用本地数据库的网站相比,性能非常慢 .

所以,我的问题是,有没有办法找到连接到Cloud SQL的本地IP,因为我们的Web服务器也在Google Cloud的基础架构上 .

或者,唯一的方法是坚持VM内的数据库?

更新

我使用this guide设置了 Cloud 代理 .

现在可以用代理连接到mysql提示符 .

但还是找不到让joomla使用这个 Cloud 代理连接数据库的方法 .

2 回答

  • 0

    从Compute实例连接到Cloud SQL实例的最快,最简单,最安全的方法是使用Cloud SQL Proxy . 这有多种原因,但主要有以下几点:

    安全连接:代理使用带有128位AES密码的TLS 1.2自动加密进出数据库的流量; SSL证书用于验证客户端和服务器身份 . 更轻松的连接管理:代理使用Google Cloud SQL处理身份验证,无需提供静态IP地址 .

    还有一个事实是,您只需要一个静态和少量的实例(在您的情况下为1)连接到数据库,因此您不需要过度复杂化您的设置,您可以将此二进制文件放入您的实例中,运行它作为一个守护进程,并立即快速通道到您的Cloud SQL实例(我在这里使用“快速通道”,因为流量将通过Google Cloud的内部网络) .

    设置Cloud SQL Proxy归结为启用Cloud SQL API,为您提供对Cloud SQL API的intance访问权限的服务帐户,确保二进制文件具有执行权限( chmod +x ),并为其提供连接字符串到Cloud SQL实例 . 您似乎在使用代理时遇到问题,因此如果您需要更多故障排除方法,可以找到它们in the documentation . 您所遵循的教程应该有关于如何执行这些步骤的详细说明 .

    完成所有这些操作并确保Proxy运行后,将Joomla连接到数据库应该与通过MySQL客户端执行此操作的方式类似 . 你应该将你的Joomla安装指向 localhost (或127.0.0.1),给它一组凭据来访问数据库本身(你可以创建数据库用户via the Console),给你的Joomla数据库的名字,应该是它!

    不要忘记Proxy需要在TCP模式下运行!这应该像添加 =tcp:LOCAL_PORT_TO_LISTEN_ON 到连接字符串参数一样简单're passing to the Proxy. Here'是一个如何运行代理的示例:

    ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
    
  • 1

    虚拟私有 Cloud (VPC)有助于提高性能 .

    私有Google访问允许子网上的虚拟机(VM)实例使用内部IP地址而非外部IP地址访问Google API和服务 . 您可以使用私人Google访问权限,允许无法访问互联网的虚拟机访问Google服务 .

    在这里您可以获得更多详细信息:https://cloud.google.com/vpc/docs/private-google-access

相关问题