虛擬伺服器上 Windows 用戶端的 MySQL 存取速度慢

虛擬伺服器上 Windows 用戶端的 MySQL 存取速度慢

我在我曾經工作過的一家酒吧的三台收銀台電腦上安裝了 UniCenta 開源 POS。

客戶端被指向運行 CentOS 6 和 MySQL 5.6.39 的虛擬伺服器,並使用 phpMyAdmin 進行管理。

該應用程式是用 Java 編寫的,並在 MySQL 上運行

幾個月前,安裝開始運行非常緩慢,螢幕上的按鈕需要幾秒鐘才能響應,在繁忙的酒吧中這是一個嚴重的問題。

我嘗試更改伺服器上 my.cnf 中的設定來調整 MySQL 伺服器的效能,最初認為這是問題所在,但這沒有什麼區別。

我已經升級到最新版本的 UniCenta 軟體,看看是否可以解決問題,但仍然不高興。

我想我應該在運行 OS-X El Capitan 的 Mac 上嘗試客戶端,它運行得很好,沒有任何緩慢。

我嘗試在客戶端電腦上安裝不同版本的 Java,但這沒有效果。

在看到網上的幾篇帖子中提到這一點後,我已將skip_name_resolve更改為on,但這仍然不能解決問題。

我已經在我的 Mac 上針對本機資料庫測試了 Windows 7 虛擬 PC,並且運作良好且不會減慢速度,因此問題出在客戶端和虛擬伺服器之間。

我嘗試在 Windows 用戶端上停用 TCP/IP 上的 NetBIOS,但這沒有什麼區別。

我認為,wireshark 追蹤是解決問題的下一步,但我想我會將其發布,看看其他人是否可能對 Windows 7 TCP/IP 堆疊或其他可能導致問題的網路問題有一些聰明的想法。

18-02-2018 除此之外,我還在另一台 Windows 7 機器上安裝了用戶端軟體,其位置與收銀機相同,這與 VPS 託管資料庫完美配合。

我現在已將 VPS 資料庫複製到本地資料庫,並且三台電腦在該本地資料庫上運行得非常好。

該問題似乎出在某些電腦存取 VPS 託管資料庫時。

Wireshark 不會顯示客戶端和伺服器之間的任何連線問題,因此故障排除有問題。

進一步更新:可能的修復方法是停用應用程式上的自動刷新設定。此設定每次執行時以及多次畫面重新載入時都會執行大型刷新任務,因此會為 SQL Server 建立大量流量。

禁用此選項似乎已經解決了速度問題,並且應用程式正常運行並及時響應。

答案1

答案是停用應用程式中的自動刷新設定。這與建立的 SQL 連線數量有關,並且可以調整 MySQL 伺服器輪詢設定來處理自動刷新設定發生的請求數量。

相關內容