Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3244206
  • 博文数量: 710
  • 博客积分: 14546
  • 博客等级: 上将
  • 技术积分: 6738
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-30 10:20
文章分类

全部博文(710)

文章存档

2016年(1)

2014年(7)

2013年(22)

2012年(227)

2011年(322)

2009年(119)

2008年(12)

分类: Mysql/postgreSQL

2011-04-12 15:44:24

1.准备

依赖文件:
mysql 和 perl (这些普通服务器都有,不赘述了)
perl-Curses : 下载地址–curses.tgz
mtop安装包:

2. Curses的安装

  • # tar zxvf Curses-x.xx.tar.gz
  • # cd Curses*
  • # perl Makefile.PL
  • # make
  • # make install

在make时可能会报错,需要对 Curses.c 275行做如下修改:
原文件:if (Perl_sv_isa(sv, “Curses::Window”)) {
修改后:if (sv_isa(sv, “Curses::Window”)) {


3. 安装mtop

  • # tar zxvf mtop-0.6.6.tar.gz
  • # cd mtop-0.6.6
  • # perl Makefile.PL
  • # make
  • # make install

4. 运行mtop

这里可以选择单独为mtop创建一个有RELOAD,PROCESS,SUPER 权限的用户。
mysql> GRANT RELOAD,PROCESS,SUPER ON *.* TO ‘mtop’@'localhost’ IDENTIFIED BY ‘mtop’;
mysql> FLUSH PRIVILEGES;
如果只是为了短暂的检测一下数据库,也可以直接使用mtop。
> mtop –dbuser=root –password=’xxx’ –host=localhost –seconds=1

5. mtop监控的精度

由于mtop监控的原理是以seconds作为间隔进行一次 show process 操作。
因此所以猜测:如果语句执行的时间小于1s就很难被mtop抓到。唯一被抓到的可能性就是,语句的短暂执行过程中的某个时刻,正好mtop进行了刷新,这时候mtop才能够抓到语句,并显示在屏幕上。
从实际试验中我们也证明了这一猜测,普通的快速的select 语句的执行不会显现在mtop中。因此,我认为mtop适用于压力比较大,或者一段时间内会出现性能瓶颈时的监控。大并发,或者slow-query才容易被mtop抓下,从而用于mysql语句调优,瓶颈分析。

6. mtop对服务器性能的影响

由于mtop是以一定间隔不断的执行show processlist的语句,因此猜测:mtop会对mysql的执行性能有一定影响。以下用mysqlslap分别对 有mtop 和 没有mtop监控两种情况下的数据库性能进行测试:

测试结果:

测试参数;并发10,语句1000,循环5次
mysqlslap -h localhost -uroot -p -a -i 5 -c 10 –create-schema=test –number-of-queries=1000


测试参数;并发100,语句1000,循环5次
mysqlslap -h localhost -uroot -p -a -i 5 -c 100 –create-schema=test –number-of-queries=1000

10并发100并发
有mtop监控2.0564.462
无mtop监控2.0474.338


结论:

可见随着并发的增加,mtop对性能的影响也越为明显;
10,50,100并发时,效率降低幅度分别为0.44%,0.65%,2% ; 结合之前所说的mtop使用的场景,可能mtop的使用会对服务器带来一定压力,这一点在使用时,需要引起注意。

7. 总结

简单的说mtop就是一个quick view of mysql connections。但是,应用的场景较少,并且会对服务器带来一小部分压力。
总结一下应用场景:

a. 快速的对mysql连接情况进行了解
b. 短时间的mysql连接情况的监控
c. 数据库瓶颈分析的初步定为

简单的说mtop就是一个quick view of mysql connections。但是,应用的场景较少,并且会对服务器带来一小部分压力。
优点:

a. 单个文件,安装简单
b. 即时获得结果,快速分析

缺点:

a. 精度低,不能抓到所有process。
b. 在大并发时,对数据库有小幅压力。
c. 会不断增加数据库QUERIES的数值,对今后的数据库数据分析会带来一定影响。
d. 获得到的数据较少,参考价值较少

阅读(928) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~