Windows-Server-2008

如何增加 MySQL Server 中的記憶體使用量以提高速度?

  • September 20, 2017

我有一個執行 IIS7 和 MySQL 的 8GB RAM 的 Windows 2008 伺服器。我一直在跟踪伺服器上的記憶體、cpu 和磁碟使用情況,我發現 MySQL 只使用了 250MB 的 RAM,使磁碟非常繁忙,儘管我周圍有很多空閒的 ram。

在 SQL Server 中,我可以輕鬆設置我希望它使用的記憶體量,我正在 MySQL 中尋找相同的設置。

如何配置 MySQL 以使用更多記憶體並減少 cpu 和磁碟使用率?

table_cache是要更改的最有用的配置指令。MySQL 每次訪問表時,都會將該表載入到記憶體中。如果您有大量表,則將它們記憶體起來會更快。

通過執行查看您的伺服器變數:

show status;

並查看變數open_tables。如果這與您的table_cache值相同,並且opened_tables一直在上升,那麼您需要增加table_cache配置文件中的值。通過在高峰時段嘗試這些變數,您會找到平衡點。opened_tables您希望對其進行配置,以便在高峰時間,即使在伺服器已經執行很長時間之後,也有少量的。

key_buffer_size也是一個很好的試驗變數。這個變數會影響索引緩衝區的大小,使這個變數變大會提高 MySQL 的索引處理速度。show variables;您可以再次使用命令查看變數,並key_read_requestskey_reads. 理想情況下,您希望這兩個變數之間的比率盡可能低,您可以通過增加key_buffer_size. 如果您將此變數設置得更高,您將減少直接對磁碟的寫入和讀取,這是您主要關心的問題。

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