MySQL加速

如果在啟動項裏面設置的話: 加上 –skip-name-resolve
如果在配製檔裏面 :在 [MySQLD] 下面添加 skip-name-resolve 然後保存重起,就可以了!!

打開/etc/my.cnf檔,修改以下設置,如果沒有,可手動添加。調整設置時,請量力而行,這與你的伺服器的配置有關,特別是記憶體大小。以下設置比較適合於1G記憶體的伺服器,但並不絕對。

#指定索引緩 沖區的大小,它決定索引處理的速度,尤其是索引讀的速度。通過檢查狀態值Key_read_requestsKey_reads,可以知道 key_buffer_size設置是否合理。比例key_reads /key_read_requests應該盡可能的低,至少是1:1001:1000更好(上述狀態值可以使用show status like’key_reads’獲得)。key_buffer_size只對MyISAM表起作用。即使你不使用MyISAM表,但是內部的臨時磁片表是 MyISAM表,也要使用該值。可以使用檢查狀態值created_tmp_disk_tables得知詳情。
key_buffer = 384M

#要求MySQL 有的連接數量。當主要MySQL線程在一個很短時間內得到非常多的連接請求,這就起作用,然後主線程花些時間(儘管很短)檢查連接並且啟動一個新線程。 back_log值指出在MySQL暫時停止回答新請求之前的短時間內多少個請求可以被存在堆疊中。只有如果期望在一個短時間內有很多連接,你需要增加 它,換句話說,這值對到來的TCP/IP連接的偵聽佇列的大小。你的作業系統在這個佇列大小上有它自己的限制。試圖設定back_log高於你的作業系統 的限制將是無效的。默認數值是50
back_log = 200

#一個包的最大尺寸。訊息緩衝區被初始化為 net_buffer_length位元組,但是可在需要時增加到max_allowed_packet個位元組。缺省地,該值太小必能捕捉大的(可能錯誤) 包。如果你正在使用大的BLOB列,你必須增加該值。它應該象你想要使用的最大BLOB的那麼大。
max_allowed_packet = 4M

#允許的同時客戶的數量。增加該值增加 mysqld要求的檔描述符的數量。這個數字應該增加,否則,你將經常看到 鏈結過多,請聯繫空間商 錯誤。 默認數值是100
max_connections = 1024

#指定表快取記憶體的大小。每當MySQL訪問一個表時,如果在表緩衝區中還有空間,該表就被打開並放入其中,這樣可以更快地訪問表內容。通過檢查峰值時間的狀態值Open_tablesOpened_tables,可以決定是否需要增加table_cache的值。如果你發現open_tables等於table_cache,並且opened_tables在不斷增長,那麼你就需要增加table_cache的值了(上述狀態值可以使用show status like ‘Open_tables’獲得)。注意,不能盲目地把table_cache設置成很大的值。如果設置得太高,可能會造成檔描述符不足,從而造成性能不穩定或者連接失敗。
table_cache = 512

#每個線程排序所需的緩衝
sort_buffer_size = 4M

#當一個查詢不斷地掃描某一個表,MySQL會為它分配一段記憶體緩衝區。read_buffer_size變數控制這一緩衝區的大小。如果你認為連續掃描進行得太慢,可以通過增加該變數值以及記憶體緩衝區大小提高其性能。
read_buffer_size = 4M

#加速排序操作後的讀數據,提高讀分類行的速度。如果正對遠遠大於可用記憶體的表執行GROUP BYORDER BY操作,應增加read_rnd_buffer_size的值以加速排序操作後面的行讀取。仍然不明白這個選項的用處……
read_rnd_buffer_size = 8M

#用於REPAIR TABLE。不明白這個選項的用處,百度上找到的設置方向也是五花八門,有128M64M32M等,折中選一個。
myisam_sort_buffer_size = 64M

#可以複用的保存在中的線程的數量。如果有,新的線程從緩存中取 得,當斷開連接的時候如果有空間,客戶的線置在緩存中。如果有很多新的線程,為了提高性能可以這個變數值。通過比較 Connections Threads_created狀態的變數,可以看到這個變數的作用。
thread_cache_size = 128

#查詢結果緩存。第一次執行某條SELECT語句的時候,伺服器記住該查詢的文本內容和它返回的結果。伺服器下一次碰到這個語句的時候,它不會再次執行該語句。作為代替,它直接從查詢緩存中的得到結果並把結果返回給用戶端。
query_cache_size = 32M

#最大併發線程數,cpu數量*2
thread_concurrency = 2

#設置超時時間,能避免長連接
wait_timeout = 120

#關閉不需要的表類型,如果你需要,就不要加上這個
skip-innodb
skip-bdb