學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦故障 > 電腦故障現(xiàn)象 > 系統(tǒng)變慢 >

MySQL數(shù)據(jù)庫服務(wù)器逐漸變慢是什么原因

時(shí)間: 加城1195 分享

  我們使用電腦和手機(jī)時(shí)候最不能忍受就是設(shè)備又卡又慢了,嚴(yán)重影響我們工作或者游戲體驗(yàn)。本文針對(duì)MySQL數(shù)據(jù)庫服務(wù)器逐漸變慢的問題, 進(jìn)行分析,并提出相應(yīng)的解決辦法

  一、檢查系統(tǒng)的狀態(tài)

  通過操作系統(tǒng)的一些工具檢查系統(tǒng)的狀態(tài),比如CPU、內(nèi)存、交換、磁盤的利用率,根據(jù)經(jīng)驗(yàn)或與系統(tǒng)正常時(shí)的狀態(tài)相比對(duì),有時(shí)系統(tǒng)表面上看起來看空閑,這也可能不是一個(gè)正常的狀態(tài),因?yàn)閏pu可能正等待IO的完成。除此之外,還應(yīng)觀注那些占用系統(tǒng)資源(cpu、內(nèi)存)的進(jìn)程。

  1.使用sar來檢查操作系統(tǒng)是否存在IO問題

  #sar-u210— 即每隔2秒檢察一次,共執(zhí)行20次。

  結(jié)果示例:

  注:在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指的是用戶進(jìn)程使用的cpu資源的百分比;

  %sys指的是系統(tǒng)資源使用cpu資源的百分比;

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

  %idle即空閑的百分比。

  如果wio列的值很大,如在35%以上,說明系統(tǒng)的IO存在瓶頸,CPU花費(fèi)了很大的時(shí)間去等待I/O的完成。Idle很小說明系統(tǒng)CPU很忙。像以上的示例,可以看到wio平均值為11,說明I/O沒什么特別的問題,而idle值為零,說明cpu已經(jīng)滿負(fù)荷運(yùn)行了。

  2.使用vmstat監(jiān)控內(nèi)存 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 的輸出那些信息值得關(guān)注?

  io bo: 磁盤寫的數(shù)據(jù)量稍大,如果是大文件的寫,10M以內(nèi)基本不用擔(dān)心,如果是小文件寫2M以內(nèi)基本正常

 ?、?CPU問題

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

  Processesinthe run queue (procs r)

  Usertime (cpu us)

  System time (cpu sy)

  Idle time (cpu id)

  問題情況:

  如果processes in run queue (procs r)的數(shù)量遠(yuǎn)大于系統(tǒng)中cpu的數(shù)量,將會(huì)使系統(tǒng)便慢。

  如果這個(gè)數(shù)量是cpu的4倍的話,說明系統(tǒng)正面臨cpu能力短缺,這將使系統(tǒng)運(yùn)行速度大幅度降低

  如果cpu的idle時(shí)間經(jīng)常為0的話,或者系統(tǒng)占用時(shí)間(cpu sy)是用戶占用時(shí)間(cpu us)兩輩的話,系統(tǒng)面臨缺少cpu資源

  解決方案 :

  解決這些情況,涉及到調(diào)整應(yīng)用程序,使其能更有效的使用cpu,同時(shí)增加cpu的能力或數(shù)量

 ?、趦?nèi)存問題

  主要查看頁導(dǎo)入的數(shù)值(swap中的si),如果該值比較大就要考慮內(nèi)存,大概方法如下:

  最簡單的,加大RAM

  減少RAM的需求

  3.磁盤IO問題

  處理方式:做raid10提高性能

  4.網(wǎng)絡(luò)問題

  telnet一下MySQL對(duì)外開放的端口,如果不通的話,看看防火墻是否正確設(shè)置了。另外,看看MySQL是不是開啟了skip-networking的選項(xiàng),如果開啟請(qǐng)關(guān)閉。

  補(bǔ)充:解決系統(tǒng)變慢的常用技巧方法

  1、在我的電腦窗口,右擊要清理的盤符―“屬性”―“清理磁盤”--勾選要?jiǎng)h除的文件--確定--是。

  2、右鍵瀏覽器e――屬性――點(diǎn)2個(gè)刪除1個(gè)清除(都要逐一確定)――確定 。

  3、把C:\WINDOWS\Prefetch(預(yù)讀文件)把里面的文件全部刪除

  4、用優(yōu)化大師或超級(jí)兔子清理注冊(cè)表和垃圾文件。

  5、“開始”――運(yùn)行中輸入msconfig――確定――啟動(dòng)――除了輸入法ctfmon以外的勾全去掉。

  6、右鍵我的電腦”――屬性――點(diǎn)高級(jí)――點(diǎn)啟動(dòng)和故障恢復(fù)中的設(shè)置――去掉所有的勾――寫入調(diào)試信息選擇“無”――確定――點(diǎn)高級(jí)下面錯(cuò)誤報(bào)告――點(diǎn)禁用――2次確定。

  7、“開始”..打開控制面板中的文件夾選項(xiàng)..點(diǎn)查看..點(diǎn)去末項(xiàng)自動(dòng)搜索文件夾前面的勾..確定。

  8、右鍵我的電腦――屬性――硬件――設(shè)備管理器――雙擊IDE控制器――次要通道――高級(jí)設(shè)置――傳送模式都選DMA――設(shè)備類型選無――確定――主要通道也同樣設(shè)置――確定。

  9、右鍵C盤進(jìn)行磁盤清理和其它選項(xiàng)中的系統(tǒng)還原清理。

  10、刪除不用的程序軟件。


MySQL數(shù)據(jù)庫服務(wù)器逐漸變慢是什么原因相關(guān)文章:

1.Windows下如何使用DOS命令進(jìn)入MySQL數(shù)據(jù)庫

2.mysql首次怎么設(shè)置密碼

3.linux下mysql關(guān)閉數(shù)據(jù)庫命令行

4.要如何通過SSH連接Mysql數(shù)據(jù)庫的方法

5.Linux下MySQL的安裝與配置

4035438