Windows-Server-2008
如何增加 MySQL Server 中的記憶體使用量以提高速度?
我有一個執行 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_requests
與key_reads
. 理想情況下,您希望這兩個變數之間的比率盡可能低,您可以通過增加key_buffer_size
. 如果您將此變數設置得更高,您將減少直接對磁碟的寫入和讀取,這是您主要關心的問題。