[英]Separate SQL server speed too slow in Google Cloud
我將所有網站都移到了Google Cloud,並遇到了性能問題。
我在Compute Engine和Cloud SQL服務器上設置了VM實例。
並使用提供的IP地址將Joomla網站從VM連接到Cloud SQL服務器。 (似乎是公共IP)
與使用VM本身內部的本地數據庫的網站相比,性能確實很慢。
因此,我的問題是,由於我們的Web服務器本身也位於Google Cloud基礎架構中,因此有沒有辦法找到連接到Cloud SQL的本地IP。
或者,唯一的方法是堅持使用VM中的數據庫?
我使用本指南設置了Cloud代理。
現在可以使用代理連接到mysql提示符。
但是仍然找不到讓joomla使用此雲代理連接到數據庫的方法。
從Compute實例連接到Cloud SQL實例的最快,最簡單,最安全的方法是使用Cloud SQL Proxy 。 造成這種情況的原因有多種,但主要有以下幾種:
安全連接:代理使用TLS 1.2和128位AES密碼自動加密來往於數據庫的流量。 SSL證書用於驗證客戶端和服務器身份。
簡化連接管理:代理使用Google Cloud SQL處理身份驗證,無需提供靜態IP地址。
還有一個事實是,您只需要連接數據庫的少量靜態實例(在您的情況下為1個實例),因此您並不需要太復雜的設置,只需將該二進制文件放入實例中,然后運行它作為守護程序,並立即具有通往您的Cloud SQL實例的快速通道(我在這里使用“快速通道”,因為流量將通過Google Cloud的內部網絡)。
設置Cloud SQL代理歸結為啟用Cloud SQL API,為您的實例服務帳戶提供對Cloud SQL API的訪問權限,確保二進制文件具有執行權限( chmod +x
),並將其連接字符串提供給Cloud SQL實例。 您似乎在使用Proxy時遇到問題,因此,如果您需要更多的故障排除建議,可以在文檔中找到它們。 您所遵循的教程應具有有關如何執行這些步驟的詳細說明。
在所有這些之后,並確保代理已運行,將Joomla連接到數據庫應類似於您通過MySQL客戶端進行的操作。 您應該將Joomla安裝指向localhost
(或127.0.0.1),為其提供一組訪問數據庫本身的憑據(可以通過Console創建數據庫用戶),並提供Joomla數據庫的名稱,應該就是這樣!
不要忘記代理需要在TCP模式下運行! 這就像將=tcp:LOCAL_PORT_TO_LISTEN_ON
添加到要傳遞給代理的連接字符串參數一樣簡單。 這是如何運行代理的示例:
./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
虛擬私有雲(VPC)有助於提高性能。
Google的私有訪問使子網中的虛擬機(VM)實例可以使用內部IP地址而不是外部IP地址訪問Google API和服務。 您可以使用Google私有訪問權限來允許沒有Internet訪問權限的虛擬機訪問Google服務。
在這里,您可以獲得更多詳細信息: https : //cloud.google.com/vpc/docs/private-google-access
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.