search 2013 adfgs
作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明
链接:http://isky000.com/database/myperf-beta-top | del.icio.us | Twitter it

自上次 对 myperf 作了一个基本的介绍 之后,反响不错,就准备再针对 myperf 的 3 个模式分别说明一下。

之前已经说明,myperf 有三个mode(功能模式),分别为: top, snap, report。第一个mode比较独立,后2个mode相辅相成。今天这里就先介绍一下 myperf 的第一个mode:“top” 。

简单来说,“top” mode其实就是一个类似于我们 Linux/Unix 下最常使用的基本的性能查看程序 top 一样,实时刷新展示数据库当前的一些比较重要的性能指标。

myperf 默认就是 “top” mode,我们可以通过执行 “myperf -h” 来看看程序的帮助内容:

myperf 几乎每一项参数都可以记录在配置文件中,唯一的例外就是当使用配置文件的时候,我们还需要一个参数告知配置文件的位置。

“top” mode 执行过程必须要能够连接到数据库,才能获取到数据库中的一些实时性能数据。可以通过命令行参数或者是配置文件的方式指定数据库连接参数:

  1. 命令行参数方式:

    myperf -u username -p password -H host -i interval -m mode

    如果连接端口不是3306,还需要通过 -P 参数指定数据库监听端口

    注:默认情况下是不会显示当前正在执行的SQL内容的,可以通过 -s 参数开启该功能。如果是MySQL5.5 还可以通过 -e 参数选项开启event的一些信息

  2. 配置文件方式:

    myperf -c configfile

    如果选择使用配置文件的方式,则可以通过 -c 参数指定配置文件位置,并将其他参数都记录在配置文件中的方式来执行。

    注:配置文件中的参数项名称都使用长名称

BTW:经历了2个星期才完成这么一个简单的说明,是自己真没有时间还是只是自己最近的惰性问题?

, , ,

已经有7个回复

  1. 第五代自动充值系统 Says @ 11-08-31 8:53 pm

    楼主说的对,支持下..

  2. 自动充值软件 Says @ 11-09-4 7:01 pm

    恩 感觉不错 顶一下

  3. ivy Says @ 11-12-13 6:21 pm

    File “./myperf”, line 691, in convertBytes
    i = int(math.floor(math.log(bytes, 1024)))
    ValueError: math domain error

    什么情况?

  4. Ljr Says @ 12-03-19 5:17 pm

    ./myperf -h
    There was a problem importing one of the Python modules required to run yum.
    The error leading to this problem was:
    No module named MySQLdb
    Please install a package which provides this module, or verify that the module is installed correctly.

    It’s possible that the above module doesn’t match the current version of Python,
    which is:

    2.4.3 (#1, Jan 14 2011, 00:20:04)
    [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)]

  5. Sky Says @ 12-03-20 9:22 am

    @Ljr:
    It looks like you’d better confirm if you have installed the module: MySQLdb

  6. Ljr Says @ 12-03-30 3:34 pm

    你好, top模式使用正常,但 snap模式执行后没报错,但库中的表内容全是空,不知什么原因?
    ./myperf -u xxx -p xxxx -d myperf -m snap
    > use myperf
    >select count(*) from myperf_snapshot;
    返回:0

  7. Tallmad Says @ 12-08-1 7:01 pm

    it’s a bug, bytes may be 0 which will raise this error. change the line to
    i = int(math.floor(math.log(bytes, 1024))) if bytes else 0

看完了要说点啥么?