MYSQL伺服器最佳化—(一)

來源:互聯網
上載者:User

參數最佳化:其實是MYSQL官方留給我們適用於我們伺服器具體情況的一種解決方式 .

介紹一個命令:

show status ;列出MySQL伺服器運行各種狀態值

Show variables 列出MYSQL伺服器配置資訊/

一:慢查詢



log_slow_queries=slow_queries   這個與以前作用基本相同,並且還是需要重啟才會生效(ON:為開啟off:為關閉)

Slow_launch_time              執行時間超過2秒則被記錄。
slow_query_log                這是一個可以在運行時改變的全域變數,表示是否開啟慢查詢日誌,在此處加上即表示ON.



代表:系統顯示有19054個慢查詢。發現後。直接去日誌查看就OK。

二、最大串連數

有時候MYSQL會出現這個錯誤 ERROR 1040: Too many connections”的情況,

一種是訪問量確實很高,MySQL伺服器抗不住,這個時候就要考慮增加從伺服器分散讀壓力.

另外一種情況是MySQL設定檔中max_connections值過小:

看:

最大串連數為500個.



實際串連數為257

蠻好的。

其實有一個公式來判斷他的好壞。 實際最大串連數/最大串連數 =85%左右的話。很不錯的。

如果10%一下的話。很可能因為你最大串連數配置高了。

三、Key_buffer_size



分配了256M的Key_buffer_size。他主要用來幹嗎?

索引命中率高低的平衡參數。



Key_read_requests 索引的請求

Key_reads   沒用到索引。直接去硬碟掃描去了

那麼我們怎麼去平衡那。這裡還有一個公式

Key_reads/key_read_requests  小於0.1%基本還不錯的。1000個請求一個區掃描硬碟。這個小意思.

四、key_blocks_u*



Key_blocks_unused表示未使用的緩衝簇(blocks)數

Key_blocks_used表示曾經用到的最大的blocks數

現在環境,所有的緩衝都用到了,要麼增加key_buffer_size,要麼就是過渡索引了,把緩衝佔滿了。Key_blocks_used / (Key_blocks_unused + Key_blocks_used)  =80%左右還不錯.

五、Open Table情況



這裡代表是表緩衝 table_cache.

Open_tables 開啟表的數量

Opened_tables 開啟過表的數量

我們查詢下table_cache



下面的公式很好的。大約這個情況還不錯的.

Open_tables / Opened_tables  * 100%      >=    85%
Open_tables / table_cache * 100%        <=    95%

今天首先介紹到這裡,其實大家多實踐積累點前輩的經驗。這才是我們的財富。

下篇文章我會繼續介紹

OK了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.