2011-10-26 148 views
0

我一直在努力解決這個問題,但目前爲止還沒有。 我有使用MyISAM引擎的41個表的數據庫。數據庫的整體大小現在是96.7MB。MySQL性能調整

問題是「MySQL運行時信息」顯示非常令人擔憂的統計數據。它們是:

Handler_read_rnd = 1,495K

Handler_read_rnd_next = 51M

Created_tmp_disk_tables = 31K

opened_tables的= 217K

我已設置下列值:

的key_buffer_size = 768 MB

query_cache_size變量= 40 MB

的table_cache = 800

tmp_table_size的= 64 MB

sort_buffer_size的值= 20 MB

read_rnd_buffer_size = 6 MB

我的服務器是運行帶有6GB RAM的Linux。我重新啓動了數據庫服務器,以便MySQL服務器已運行2天,10小時,34分鐘和14秒。

任何改善這些性能問題的建議?

還有一件事要問:table_cache = 800 < - 800是什麼,KB或MB

回答

2

你確定你的my.cnf正在被使用嗎?使用顯示全局變量並確認您的設置實際上正在使用。

就800而言,這是將被緩存的表柄的數量。

根據您的設置和結果,我不得不懷疑您的設置未被授予。

順便提一下,建立和調整大型MySQL系統(複數)多年後,我的個人建議是使用InnoDB。其中一個優點是不需要轉動這種神祕和簡單的旋鈕即可獲得合理的開箱即用特性和性能。

+0

+1 InnoDB建議。 –

+0

謝謝耶利米。是的,正在使用my.cnf文件。參數在該文件中定義。 所以如果我總共有41個表,80的值應該足夠table_cache,對吧? –