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的选项,如果开启请关闭。

(0)

相关推荐

  • PHP开发环境配置(MySQL数据库安装图文教程)

    一. MySQL的安装 运行MYSQL安装程序(mysql-essential-5.1.40-win32.msi) 选择安装类型为Custom 点选Change按钮更改安装目录 将安装目录更改为到D盘(可根据自己的系统更改) 点击Install按钮开始安装 安装程序将开始安装MySQL到指定的路径中 安装过程中汇出现一些广告点Next跳过即可. 安装完成后出现以下界面,只选择Configrue the MySQL Server now选项,然后点击Finish按钮 点击Next按钮开始配置MyS

  • linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    1. MySQL的安装与配置: 在Ubuntu下安装MySQL方法很简单,使用如下命令: 复制代码 代码如下: sudo apt-get install mysql-server 安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面设置麻烦.安装结束之后,系统会启动mysql服务,可以使用命令去查看来验证mysql服务是否已经安装成功: 复制代码 代码如下: ps -el | grep mysql 如果mysql服务没有正常的运行,

  • linux下指定mysql数据库服务器主从同步的配置实例

    一. 概念: ① 数据库同步  (主从同步 --- 主数据库写的同时 往从服务器写数据)② 数据库同步  (主主同步 --- 两台数据库服务器互相写数据) 二. 举例数据库服务器(A) 主数据库   IP:192.168.1.134数据库服务器(B) 主数据库   IP:192.168.1.138两台服务器同步的用户名为: bravedu    密码: brave123 一.主数据库操作设置(A):① 创建同步用户名 允许连接的 用户IP地址  (非本机IP) 复制代码 代码如下: grant

  • linux下perl操作mysql数据库(需要安装DBI)

    DBI安装:DBI详细信息参考:http://dbi.perl.org/ 1.下载DBI包: wget http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.620.tar.gz 2 解压 tar xzf DBI-1.620.tar.gz 3 进入解压包内, perl Makefile.PL 4 make test 5 make 6 make install (如果不是root用户,要sudo一下) DBD安装: 1.下载DBD wget

  • windows下在一台机器上安装两个MYSQL数据库的方法

    环境: OS:Windows 2003 DB:MYSQL5.5 1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy到E盘 4.创建第二个mysql的my.ini文件 第一个mysql的my.ini文件默认是在如下路径 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL S

  • Windows服务器下MySql数据库单向主从备份详细实现步骤分享

    一.目的:将主服务器中的MySql数据库同步到从服务器中,使得对主服务器的操作可以即时更新到从服务器,避免主服务器因环境或者网络异常一时无法使用,达到备份效果. 二.环境: 主从服务器操作系统.数据库版本均相同,具体如下: 操作系统:Windows 2003 Server R2 MySql数据库版本:5.0.51b 主服务器(用A代替)IP地址:192.168.4.100 从服务器(用B代替)IP地址:192.168.4.101 三.配置过程: 1.在A创建远程访问备份账户. 在A的MySql数

  • MySQL数据库服务器端核心参数详解和推荐配置

    MySQL手册上也有服务器端参数的解释,以及参数值的相关说明信息,现针对我们大家重点需要注意.需要修改或影响性能 的服务器端参数,作其用处的解释和如何配置参数值的推荐,此事情拖了不少时间,为方便大家帮忙纠错(注:总是断断续续写的,可能存在笔误),先以文章的方 式发布到网站,后续确定没问题,将会通过新浪微博的微盘提供PPT下载,方便学习和参考. l lower_case_table_names Linux或类Unix平台,对文件名称大小写敏感,也即对数据库.表.存储过程等对象名称大小写敏 感,为减

  • mysql数据库从服务器移植到个人PC的方法

    一.使用mysqldump 1.mysqldump备份数据库 1. 进入mysql安装文件的bin目录下,如:D:\mysql5.5\bin> 2. 用 mysqldump -uroot -p123 qh>d:\qh.sql 命令备份数据库 mysqldump -uroot -p123 登陆到数据库用户为 root 密码为 123 qh>d:\qh.sql 将 数据库qh 备份到 d:\qh.sql 2.mysqldump还原数据库 1. 新建一个空的数据库 2. 用 mysql -ur

  • RHEL 6平台MySQL数据库服务器的安装方法

    MySQL数据库是Linux操作系统上用得最多的数据库系统,它可以非常方便的与其它服务器集成在一起,如Apache.Vsftpd.Postfix等.下面介绍RHEL 6平台MySQL数据库服务器的安装方法. 1.安装完整的MySQL数据库需要以下几个RPM包文件: perl-DBI-1.609-4.e16.i686.rpm:Perl语言的数据API perl-DBD-MySQL-4.013-3.e16.i686.rpm:MySQL与Perl语言的接口程序包 mysql-5.1.61-4.e16.

  • 在CentOS上MySQL数据库服务器配置方法

    无意中还找到了CentOS的专业论坛,记住:http://www.centospub.com 于是,开始的学习配置 本次环境: CentOS系统, mysql-server(版本忘了,因为是使用yum安装的) 过程如下(转载,根据本人安装详细要求,略加修改) : 在提到网站构架的时候,我们经常能够看到"LAMP"的说法,它就是"Linux + Apache + MySQL + PHP". MySQL+PHP的协同成功案例已经很多了.比如国外的PHPBB,VBB,国内

随机推荐