MySQL資料庫伺服器逐漸層慢分析與解決

來源:互聯網
上載者:User

本文針對MySQL資料庫伺服器逐漸層慢的問題, 進行分析,並提出相應的解決辦法。

  一、檢查系統的狀態

  通過作業系統的一些工具檢查系統的狀態,比如CPU、記憶體、交換、磁碟的利用率,根據經驗或與系統正常時的狀態相比對,有時系統資料表面上看起來看空閑,這也可能不是一個正常的狀態,因為cpu可能正等待IO的完成。除此之外,還應觀注那些佔用系統資源(cpu、記憶體)的進程。

  1.使用sar來檢查作業系統是否存在IO問題

#sar -u 2 10 — 即每隔2秒檢察一次,共執行20次。

  結果樣本:

  註:在RedHat下,%system就是所謂的%wio。

Linux 2.4.21-20.ELsmp (YY075) 05/19/2005
10:36:07 AM CPU %user %nice %system %idle
10:36:09 AM all 0.00 0.00 0.13 99.87
10:36:11 AM all 0.00 0.00 0.00 100.00
10:36:13 AM all 0.25 0.00 0.25 99.49
10:36:15 AM all 0.13 0.00 0.13 99.75
10:36:17 AM all 0.00 0.00 0.00 100.00

   其中:

  %usr指的是使用者進程使用的cpu資源的百分比;

     %sys指的是系統資源使用cpu資源的百分比;

  %wio指的是等待io完成的百分比,這是值得觀注的一項;

  %idle即閒置百分比。

  如果wio列的值很大,如在35%以上,說明系統的IO存在瓶頸,CPU花費了很大的時間去等待I/O的完成。Idle很小說明系統CPU很忙。像以上的樣本,可以看到wio平均值為11,說明I/O沒什麼特別的問題,而idle值為零,說明cpu已經滿負荷運行了。

  2.使用vmstat監控記憶體 cpu資源

[root@mysql1 ~]# vmstat
procs ———–memory———- —swap– —–io—- –system– —–cpu——
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0     72  25428  54712 672264    0    0    14    43   53   59  1  1 98  0  0

   vmstat 的輸出那些資訊值得關注?

  io bo: 磁碟寫的資料量稍大,如果是大檔案的寫,10M以內基本不用擔心,如果是小檔案寫2M以內基本正常

  ① CPU問題

  下面幾列需要被察看,以確定cpu是否有問題

Processes in the run queue (procs r)
User time (cpu us)
System time (cpu sy)
Idle time (cpu id)

   問題情況:

   如果processes in run queue (procs r)的數量遠大於系統中cpu的數量,將會使系統便慢。

   如果這個數量是cpu的4倍的話,說明系統正面臨cpu能力短缺,這將使系統運行速度大幅度降低

  如果cpu的idle時間經常為0的話,或者系統佔用時間(cpu sy)是使用者佔用時間(cpu us)兩輩的話,系統面臨缺少cpu資源

  解決方案 :

  解決這些情況,涉及到調整應用程式,使其能更有效使用cpu,同時增加cpu的能力或數量

  ②記憶體問題

  主要查看頁匯入的數值(swap中的si),如果該值比較大就要考慮記憶體,大概方法如下:

  最簡單的,加大RAM

  減少RAM的需求

  3.磁碟IO問題

  處理方式:做raid10提高效能

  4.網路問題

  telnet一下MySQL對外開放的連接埠,如果不通的話,看看防火牆是否正確設定了。另外,看看MySQL是不是開啟了skip-networking的選項,如果開啟請關閉。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 下一頁
【內容導航】
第1頁:檢查系統的狀態 第2頁:檢查MySQL參數
第3頁:檢查mysql 相關狀態值 第4頁:安裝sysstat 系統狀態包
第5頁:SAR命令的五個例子 第6頁:vmstat命令輸出的六個部分
第7頁:根據mysql狀態調整系統參數 第8頁:根據mysql狀態調整系統參數

相關文章

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.