2015-10-12 145 views
1

我有一個帶有x.x.x.x IP的雲服務器(GoGrid)。 在這臺服務器上,我安裝了IIS,並且還安裝了MySQL服務器社區版。爲什麼MySQL對我來說太慢?

在這個服務器我有一個網站,連接到數據庫。 在我的連接字符串中,我已經把:

Server:localhost 

然後我執行400個插入; 我花了1秒鐘或更少。

然後我更改連接字符串

Server:x.x.x.x 

然後花了40秒左右來執行。 爲什麼當我將本地主機改爲自己的機器IP時,速度太慢?從X.X.X.X

我泰斯特PING到X.X.X.X,我只花了1毫秒。

服務器連接大約10mb。

我插入的數據不是非常大。它的約10列只有日期,ID,標籤和其他簡單的類型。

而且正在使用實體框架6與ASP淨MVC 5.

我失去了一些東西? 謝謝!

+0

你插入了什麼樣的數據?它可能不是很慢的MySQL,而是與服務器的網絡連接;請記住,ping不是衡量網絡性能的唯一指標,吞吐量可能更爲重要。 – Uueerdo

+0

爲了清晰起見進行了編輯。服務器連接大約10mbit。註冊表很簡單,大約10個只有標籤和一些整數和日期的coluns。 – Ayalas

+0

如果您一次插入400行,則只需將額外的1/10秒添加到「發送數據和接收確認」交換,以便將其推送超過40秒。如果你正在尋找更好的解決方案,而不只是想知道原因;你有沒有嘗試在一個語句中插入多個值,或使用Prepared查詢? – Uueerdo

回答

0

當您更改連接字符串以您的雲服務器的公網IP地址,你很可能迫使流量到您的數據庫從本地網絡適配器,雲提供商的內部網絡向公衆互聯網,回內部網絡,回到請求源自的本地適配器。

具體來說,我知道這情況與AWS,雖然與AWS我相信他們的分配的公共DNS名稱是有關路由的聰明。

這是遠遠路由通過公共互聯網不是直接到MySQL本地框的連接更加昂貴。

+0

服務器不是來自Amazon(已編輯)。它的GoGrid。最有趣的是時間上的巨大差異。它再過39秒鐘即可完成。 – Ayalas

+0

可能是同一個問題。如果您指定了公共IP,則可能會按照所述進行路由。您是否有特定的原因要指定公共IP? –

+0

請注意,如果數據庫路由通過公共IP,則可能會產生數據使用費。不確定GoGrid的賬單結構是什麼樣的。 –

相關問題