共计 2626 个字符,预计需要花费 7 分钟才能阅读完成。
本篇内容介绍了“如何掌握 ps-top 用于 MySQL 的数据库 top 工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
熟悉 Linux 的同学都很喜欢 top 命令,可以让我们很方便快捷的一键获取系统运行状态。除了系统状态,很多人可能也希望能一键获得数据库的运行状态,很多人会用 show profile 或者 performance_schema 数据库获取各种信息。但是很方便和直接。
本文虫虫给大家介绍一个命令行工具 ps-top,可从 MySQL 5.6+ 的 performance_schema 数据库中收集信息,并使用该信息实时显示服务器负载。数据以表或文件名显示,实时显示在选择,插入,更新或删除活动时候信息情况; 视图显示用户活动,显示使用相同用户名连接的不同主机的数量以及这些用户的活动视图; 关于互斥、锁表和 sql 阶段计时的统计信息视图。
安装
和一般的 golang 工具一样,ps-top 安装很简单,直接用 go get 就可以下载、编译,安装好:
go get -u github.com/sjmudd/ps-top/cmd/ps-top 或 go get -u github.com/sjmudd/ps-top/cmd/ps-stats
这样就会直接安装下载工具及其依赖项,安装后的二进制文件在 $GOPATH/bin/ 目录。如果该路径在系统 PATH 设置中,则无需指定任何特定路径即可直接运行程序。
访问 MySQL
可以通过以下方法之一访问 MySQL:
默认使用文件~/.my.cnf。
制定 cnf 文件,通过 –defaults-file=/path/to/.my.cnf。
使用 –host=somehost –port=999 –user=someuser –password=somepass 连接到主机
通过本机 socket 连接 –socket=/path/to/mysql.sock –user=someuser –password=somepass
如果未指定,则用户默认为的内容 $USER。如果未指定端口,则默认为 3306。
可以通过命令行选项 –use-environment ps-top 或者 ps-stats,则在环境变量中查找 MYSQL_DSN 的账号信息去连接 Mysql。MYSQL_DSN 格式为式:
user:pass@tcp(host:port)/performance_schema
这样就避免在命令行中直接显示账号和密码,防止信息泄露。
MySQL/MariaDB 配置
performance_schema 数据库必须配置为支持 ps-top。默认情况下,在 MySQL 上会启用此功能。MariaDB = 10.0.12 上则禁用此功能。因此,需额外配置启用,在 /etc/my.cnf 中,设置:
performance_schema = 1
然后重新启动 MariaDB 才能生效。
ps-top 和 ps-stats 需要问 performance_schema 表的 SELECT 权限。如果无法访问所需表,它们将不会运行。
setup_instruments:查看 mutex_latency 或 stages_latency 根据需要修改改配置,保证用户有权限执行此操作。如果服务器,–read-only 或者没有足够的权限来更改这些表,则这些视图可能为空。如果在启动时成功更新了表,则停止 ps-top 之前,该 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 ?:显示帮助。
middot; 将轮询间隔减少 1 秒(最少 1 秒)
+ 将轮询间隔增加 1 秒
q- 退出
t:在显示自重置 ps-top 开始以来显示统计信息或您显式重置它们 (使用 z)[REL] 或显示从 MySQL 收集的统计信息之间切换[ABS]。
z:重置统计信息。那就是您看到的与 重置 统计信息有关的计数器。
:更改显示模式:延迟,操作,文件 I /O,锁定,用户,互斥,阶段和存储模式。
左箭头:切换到上一个屏幕
向右箭头:切换至下一个屏幕
标准输出模式
ps-stats 和,ps-top 都具有与相同的视图输出,会定时发送到 stdout。默认视图为 table_io_latency。可以使用与 vmstat 相同的方法来调整收集间隔和收集数据的次数。第一个参数是 delay(默认为 1 秒),第二个参数是要进行的迭代次数,如果未提供,则为一直运行。该模式旨在用于使用 stdout 作为输出媒体来监视 ps-top 并从中收集数据。
相关的命令行选项包括:
–count=
限制迭代次数(默认值:永久运行)
–interval=
设置默认轮询间隔(以秒为单位)
–limit=
限制输出的行数(不包括标题)
–stdout 将输出发送到 stdout(不是屏幕)
–view=
确定要在 ps- 时查看的视图顶部开始 (默认:table_io_latency) 可能的值:table_io_latency,table_io_ops,file_io_latency,table_lock_latency, user_latency,mutex_latency 和 stages_latency。
–totals 仅显示总计行,而不显示明细。
“如何掌握 ps-top 用于 MySQL 的数据库 top 工具”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!