第一步:
1:磁碟尋道能力,以高速硬碟(7200轉/秒),理論上每秒尋道7200次.這是沒有辦法改變的,最佳化的方法是----用多個硬碟,或者把資料分散儲存.
2:硬碟的讀寫速度,這個速度非常的快,這個更容易解決--可以從多個硬碟上並行讀寫.
3:cpu.cpu處理記憶體中的資料,當有相對記憶體較小的表時,這是最常見的限制因素.
4:記憶體的限制.當cpu需要超出適合cpu緩衝的資料時,緩衝的頻寬就成了記憶體的一個瓶頸---不過現在記憶體大的驚人,一般不會出現這個問題.
第二步: (本人使用的是學校網站的linux平台(Linux ADVX.Mandrakesoft.com 2.4.3-19mdk ))
1:調節伺服器參數
用shell>mysqld-help這個命令聲廠一張所有mysql選項和可組態變數的表.輸出以下資訊:
possible variables for option--set-variable(-o) are:
back_log current value:5 //要求mysql能有的串連數量.back_log指出在mysql暫停接受串連的時間內有多少個串連請求可以被存在堆棧中
connect_timeout current value:5 //mysql伺服器在用bad handshake(不好翻譯)應答前等待一個串連的時間
delayed_insert_timeout current value:200 //一個insert delayed在終止前等待insert的時間
delayed_insert_limit current value:50 //insert delayed處理器將檢查是否有任何select語句未執行,如果有,繼續前執行這些語句
delayed_queue_size current value:1000 //為insert delayed分配多大的隊
flush_time current value:0 //如果被設定為非0,那麼每個flush_time 時間,所有表都被關閉
interactive_timeout current value:28800 //伺服器在關上它之前在洋互動串連上等待的時間
join_buffer_size current value:131072 //用與全部串連的緩衝區大小
key_buffer_size current value:1048540 //用語索引塊的緩衝區的大小,增加它可以更好的處理索引
lower_case_table_names current value:0 //
long_query_time current value:10 //如果一個查詢所用時間大於此時間,slow_queried計數將增加
max_allowed_packet current value:1048576 //一個包的大小
max_connections current value:300 //允許同時串連的數量
max_connect_errors current value:10 //如果有多於該數量的中斷串連,將阻止進一步的串連,可以用flush hosts來解決
max_delayed_threads current value:15 //可以啟動的處理insert delayed的數量
max_heap_table_size current value:16777216 //
max_join_size current value:4294967295 //允許讀取的串連的數量
max_sort_length current value:1024 //在排序blob或者text時使用的位元組數量
max_tmp_tables current value:32 //一個串連同時開啟的暫存資料表的數量
max_write_lock_count current value:4294967295 //指定一個值(通常很小)來啟動mysqld,使得在一定數量的write鎖定之後出現read鎖定
net_buffer_length current value:16384 //通訊緩衝區的大小--在查詢時被重設為該大小
query_buffer_size current value:0 //查詢時緩衝區大小
record_buffer current value:131072 //每個順序掃描的串連為其掃描的每張表分配的緩衝區的大小
sort_buffer current value:2097116 //每個進行排序的串連分配的緩衝區的大小
table_cache current value:64 //為所有串連開啟的表的數量
thread_concurrency current value:10 //
tmp_table_size current value:1048576 //暫存資料表的大小
thread_stack current value:131072 //每個線程的大小
wait_timeout current value:28800 //伺服器在關閉它3之前的一個串連上等待的時間
根據自己的需要配置以上資訊會對你協助