當前位置:編程學習大全網 - 圖片素材 - MySQL數據庫服務器逐漸變慢分析與解決方法分享

MySQL數據庫服務器逐漸變慢分析與解決方法分享

壹、檢查系統的狀態

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

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

#sar-u210—

即每隔2秒檢察壹次,***執行20次。

結果示例:

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

Linux2.4.21-20.ELsmp

(YY075)05/19/2005

10:36:07AMCPU%user%nice%system%idle

10:36:09AMall0.000.000.1399.87

10:36:11AMall0.000.000.00100.00

10:36:13AMall0.250.000.2599.49

10:36:15AMall0.130.000.1399.75

10:36:17AMall0.000.000.00100.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

54712672264

0

0

14

43

53

59

1

198

0

0

vmstat

的輸出那些信息值得關註?

io

bo:

磁盤寫的數據量稍大,如果是大文件的寫,10M以內基本不用擔心,如果是小文件寫2M以內基本正常

CPU問題

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

Processesinthe

run

queue

(procs

r)

Usertime

(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的選項,如果開啟請關閉。

  • 上一篇:魔獸世界卡拉贊王子怎麽過
  • 下一篇:Internet Explorer 無法打開Internet站點 已終止操作怎麽辦?
  • copyright 2024編程學習大全網