MySQL数据库服务器逐渐变慢分析与解决方法分享

 我来答
居家风水师
2019-11-27 · TA获得超过3555个赞
知道小有建树答主
回答量:2964
采纳率:33%
帮助的人:207万
展开全部
一、检查系统的状态
  通过操作系统的一些工具检查系统的状态,比如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的选项,如果开启请关闭。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式