熟悉Linux的用于同学都很喜欢top命令,可以让我们很方便快捷的据库具一键获取系统运行状态。除了系统状态,用于很多人可能也希望能一键获得数据库的据库具运行状态,很多人会用show profile或者performance_schema数据库获取各种信息。用于但是据库具很方便和直接。 本文虫虫给大家介绍一个命令行工具ps-top,用于可从MySQL 5.6+的据库具performance_schema数据库中收集信息,并使用该信息实时显示服务器负载。用于数据以表或文件名显示,据库具实时显示在选择,用于插入,据库具更新或删除活动时候信息情况;视图显示用户活动,用于显示使用相同用户名连接的据库具不同主机的数量以及这些用户的活动视图;关于互斥、锁表和sql阶段计时的用于统计信息视图。 安装 和一般的golang工具一样,ps-top安装很简单,直接用go get就可以下载、编译,安装好: 这样就会直接安装下载工具及其依赖项,安装后的二进制文件在$GOPATH/bin/目录。如果该路径在系统PATH设置中,则无需指定任何特定路径即可直接运行程序。源码下载 访问MySQL 可以通过以下方法之一访问MySQL: 可以通过命令行选项--use-environment ps-top或者ps-stats,则在环境变量中查找MYSQL_DSN的账号信息去连接Mysql。MYSQL_DSN格式为式: 这样就避免在命令行中直接显示账号和密码,防止信息泄露。 MySQL/MariaDB配置 performance_schema数据库必须配置为支持ps-top。默认情况下,在MySQL上会启用此功能。MariaDB> = 10.0.12上则禁用此功能。因此,需额外配置启用,在/etc/my.cnf中,设置: 然后重新启动MariaDB才能生效。 ps-top和ps-stats需要问performance_schema表的SELECT权限。如果无法访问所需表,它们将不会运行。 setup_instruments:查看mutex_latency或stages_latency 根据需要修改改配置,保证用户有权限执行此操作。如果服务器,--read-only或者没有足够的权限来更改这些表,则这些视图可能为空。如果在启动时成功更新了表,则停止ps-top之前,云南idc服务商该setup_instruments配置会将其恢复为原始设置。 视图 ps-top和ps-stats可以显示7个不同的数据视图,这些视图默认情况下每秒更新一次。这7个视图为: table_latency:表等待执行操作的时间显示活动。 table_ops:按MySQL执行的活动数显示活动。 file_io_latency:显示MySQL在文件I/O上花费的时间。 table_lock_latency:根据表锁显示顺序 user_latency:根据用户运行查询的时间或用户与MySQL的连接数显示排序。它提供了一些信息,还显示了总的空闲时间,因为这表明可能有过长的空闲查询,如果有堆积,这里的值之和可能很有趣。 mutex_latency:按互斥锁延迟显示排序。 SQL Stages_latency:在不同的SQL查询阶段中按时间显示排序。 可以更改轮询间隔并在模式之间进行切换。 快捷键 在ps-top模式下,以下按键可以让ps-top在不同模式浏览或更改其行为。 h ?:显示帮助。 标准输出模式 ps-stats和,ps-top都具有与相同的视图输出,会定时发送到stdout。默认视图为table_io_latency。可以使用与vmstat相同的方法来调整收集间隔和收集数据的次数。第一个参数是delay(默认为1秒),第二个参数是要进行的迭代次数,如果未提供,则为一直运行。该模式旨在用于使用stdout作为输出媒体来监视ps-top并从中收集数据。 相关的命令行选项包括: 总结 本文我们介绍了一个golang撰写的命令行工具,用来以top形式方式很方便的获取Myql的一些运行状态,适合广大运维和DBA作为一个称手的工具,大家也可以作为golang语言学习范例项目。· 将轮询间隔减少1秒(最少1秒) + 将轮询间隔增加1秒 q-退出 t:在显示自重置ps-top开始以来显示统计信息或您显式重置它们(使用z)[REL]或显示从MySQL收集的统计信息之间切换[ABS]。 z:重置统计信息。那就是您看到的亿华云计算与"重置"统计信息有关的计数器。 :更改显示模式:延迟,操作,文件I/O,锁定,用户,互斥,阶段和存储模式。 左箭头:切换到上一个屏幕 向右箭头:切换至下一个屏幕