宝塔面板提供四种获取MySQL每秒查询数(QPS)的方法:一、通过数据库性能监控图表查看近24小时QPS趋势;二、用phpMyAdmin执行SHOW GLOBAL STATUS查询状态变量并手动计算;三、部署Shell脚本调用mysqladmin实时采集;四、启用慢查询日志结合日志分析定位高负载SQL。

如果您在使用宝塔面板管理服务器,但需要实时掌握 MySQL 数据库的每秒查询数(QPS),则需通过面板内置功能或命令行工具获取动态指标。以下是实现该监控的具体操作步骤:
一、使用宝塔面板数据库监控图表
宝塔面板 7.9.0 及以上版本在数据库管理页面集成了基础性能图表,可直接查看近 24 小时内 QPS 的趋势变化,无需额外安装插件。
1、登录宝塔面板,在左侧菜单栏点击数据库。
2、在数据库列表上方,找到并点击性能监控标签页。
3、确认图表类型下拉框中已选择QPS(每秒查询数),时间范围建议设为最近24小时。
4、观察折线图中数值波动,图中每个数据点代表该分钟内平均 QPS 值,系统自动按秒级采样并聚合为分钟粒度。
二、通过 phpMyAdmin 执行 SQL 查询计算实时 QPS
该方法基于 MySQL 状态变量 Com_select、Com_insert 等的增量差值,配合时间间隔推算出近似 QPS,适用于需临时验证瞬时负载的场景。
1、在宝塔面板数据库页面,点击目标 MySQL 数据库右侧的phpMyAdmin按钮进入管理界面。
2、点击顶部SQL选项卡,在编辑框中粘贴以下语句并执行:
SHOW GLOBAL STATUS LIKE 'Com_%';
3、记录返回结果中 Com_select、Com_insert、Com_update、Com_delete 四项的数值,记为初始值 S1、I1、U1、D1。
4、等待5秒后再次执行相同语句,获取新数值 S2、I2、U2、D2。
5、使用公式计算 QPS:(S2+S1+I2+I1+U2+U1+D2+D1)/10(注意:此处为两次采样总和除以总秒数,非差值;若需精确差值法,请改用两次差值之和除以5)。
三、部署自定义 Shell 脚本定时采集 QPS
通过编写轻量级 Bash 脚本调用 mysqladmin 工具,可实现每秒级精度的 QPS 输出,并支持日志留存与告警触发。
1、使用宝塔面板的终端或 SSH 登录服务器,执行命令创建脚本文件:vi /www/server/panel/script/mysql_qps.sh。
2、在编辑器中输入以下内容:
#!/bin/bash
mysqladmin -u root -p"$(cat /www/server/panel/database.conf | grep password | cut -d'=' -f2)" extended-status | grep -E "Com_select|Com_insert|Com_update|Com_delete"
3、赋予执行权限:chmod +x /www/server/panel/script/mysql_qps.sh。
4、手动运行一次验证输出:/www/server/panel/script/mysql_qps.sh,确认返回包含四类指令计数。
5、如需持续监控,可配合 watch 命令:watch -n 1 '/www/server/panel/script/mysql_qps.sh',实现每秒刷新。
四、启用 MySQL 慢日志并结合宝塔日志分析模块
当 QPS 异常升高时,往往伴随低效 SQL 导致连接堆积,启用慢查询日志可定位高消耗语句,间接反映 QPS 构成质量。
1、进入宝塔面板数据库页面,点击目标 MySQL 实例右侧的设置按钮。
2、在配置修改区域搜索slow_query_log,将其值改为ON。
3、将long_query_time设为1(单位:秒),表示记录执行超 1 秒的语句。
4、保存配置后,点击重启数据库使参数生效。
5、返回面板首页,点击网站→日志→MySQL慢日志,查看实时捕获的语句及其执行耗时。










