Mysql

同樣的 MySQL 查詢在 ubuntu 上比 Windows 慢

  • January 16, 2022

我在 MySQL 5.7.33 中有很多選擇。在 ubuntu(真實伺服器)20.04 中,答案需要 600 秒,但在 Windows 上需要 1.2 秒,在 VM Ubuntu 20.04 上大致相同。

所有作業系統的 MySQL 配置都是相同的。

你有什麼想法來解決這個問題嗎?

謝謝。

編輯部分:

解釋選擇…

慢的: 在此處輸入圖像描述

快速地: 在此處輸入圖像描述

在使用尚未在緩衝區中的大型數據集對 VM 進行查詢時,這無疑是一個常見問題。可能會遇到的問題之一是需要進行的文件系統轉換。Ubuntu VM 很可能使用 Ext4 文件系統,它位於 NTFS 分區上的容器內。這在處理繁重的磁碟操作時會增加一些成本。

如果 VM 需要盡可能高的性能,一個建議是在電腦的儲存設備(SSD 或 HDD)上創建一個 Ext4 分區,並將其安裝在 VM 中。數據庫文件將被移動到該裸機文件系統,主要的 Ubuntu 安裝將保留在 VM 的文件系統中。

這樣做可以將處理大型讀寫操作時的成本顯著降低,儘管在使用虛擬機而不是裸機安裝時總會有一點點損失。

對於 99%,我敢打賭這是CPU 拓撲(硬體和虛擬機可能具有相同)與作業系統許可

雖然*LINUX 核心使用所有 CPU,但 WINDOWS 將這些數量限制為有效的許可證類型。*例如,對於 W10 專業版和標準版,它是 2。

簡而言之 - 您的計算能力在 WINDOWS 作業系統上受到限制,而在 LINUX 核心上它可能只是一個調整 OP 速度的 GOVERNOR。

其他要考慮的事情是在這些作業系統下使用原始或共享記憶體或設置超執行緒記憶體交錯等。通常所有其他作業系統實現都試圖利用所有那些“高級硬體加速技術”來執行 OP。

我自己也遇到過這種情況 - 在未經許可的 Windows 10 下,在拓撲複製錯誤的 VM 上執行 64 核 HP 伺服器,通常在完全許可(64 核)的 Windows 伺服器下,查詢結果需要很長時間(大約 5 分鐘),需要 10秒。這一切都取決於操作軟體(MT、HT、調控器、執行緒鎖定等的使用)。

引用自:https://dba.stackexchange.com/questions/292240