Mysql

從虛擬伺服器上的 Windows 客戶端訪問 MySQL 很慢

  • February 20, 2018

我在我曾經工作過的一家酒吧的三台電腦上安裝了 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 伺服器創建大量流量。

禁用此選項似乎解決了速度問題,應用程序執行正常並及時響應。

答案是禁用應用程序中的自動刷新設置。這與創建的 SQL 連接數有關,並且可以調整 MySQL 伺服器輪詢設置以處理使用自動刷新設置發生的請求數。

引用自:https://serverfault.com/questions/897675