发现瓶颈 - Profiling(程序剖析) -剖析 MySQL Server

剖析 MySQL Server

一个最好的剖析服务器的方法是,用SHOW STATUS来查看什么占用了它大量的处理时间。SHOW STATUS显示了很多的信息,我们仅仅关心其中的一小部分。

 

为了查看最近服务器的表现。你可以周期性的抽取SHOW STATUS并且把它和先前的结果进行比较。命令如下:

mysqladmin extended -r -i 10(注:要连接服务器所以要加 -u -p 参数:mysqladmin -u root -p extended -r -i 10)

 

这些变量并不是一直增长的。因此你可能看到一些奇怪的输出,比如Threads_running有的时候是负数。不必担心这个,意思就是相对于上一个例子,这个计数在减少。

 

因为这个输出是非常大的。我们可以使用grep(windows 强烈推荐cygwin)来查取一些想要的变量。也可以使用Innotop或其他的一些工具来查看这些结果。这个将在以后章节说明。下面就说一下比较有用的变量。

 

  • Bytes_received ,Bytes_sent:服务器进出的流量。
  • Com_*:服务器执行的命令。
  • Created_*:在语句执行的时候,临时表和文件的创建。
  • Handler_*:存储引擎的操作。
  • Select_*:多种类连接的执行安排。
  • Sort_*:多种类排序的信息。
你可以使用这个方法来监控MySQL内部的操作。比如Key(键)的访问次数,对于MyISAM,从硬盘的Key(键)的读取,数据访问的频率以及等等。这样才能帮助你知道在系统中哪些是潜在的瓶颈。而不用去查看一个单独的语句。你也可以使用单独的工具去分析SHOW STATUS,如mysqlreport.这样是为了得到一个总的服务器"健康"信息.

我们不会详细解释每个状态变量(status variables)的意思,但是当我们在例子中使用它们的时候,会详细说明。因此现在没必要担心我们对这些变量一无所知。

另一个剖析服务器的方法是使用SHOW PROCESSLIST.使用它不仅仅能看到什么类型的语句正在执行,也能知道你连接的状态。一些如在锁的状态下,连接数过高,是显而易见的瓶颈。与SHOW STATUS一样,SHOW PROCESSLIST的信息量很大,我们也需要工具取代用手工查看结果的方法,比如INNOTOP。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值