Mysql MariaDB:性能监控
我想监控不同查询的性能(持续时间)。一个简单的方法是查看HeidiSQL的输出。例如,此简单查询:Mysql MariaDB:性能监控,mysql,performance,mariadb,monitoring,heidisql,Mysql,Performance,Mariadb,Monitoring,Heidisql,我想监控不同查询的性能(持续时间)。一个简单的方法是查看HeidiSQL的输出。例如,此简单查询: SELECT COUNT(*) FROM db.patient; 在HeidiSQL GUI上提供以下输出: /* Betroffene Zeilen: 0 Gefundene Zeilen: 1 Warnungen: 0 Dauer von 1 Abfrage: 6.022
SELECT COUNT(*) FROM db.patient;
在HeidiSQL GUI上提供以下输出:
/* Betroffene Zeilen: 0 Gefundene Zeilen: 1 Warnungen: 0
Dauer von 1 Abfrage: 6.022 Sek. */
获取此输出时,我将时间(6.022)、受影响行数(0)和定位行数(1)复制/粘贴到excel中。
我希望定期这样做,以控制查询的持续时间。如果持续时间变得至关重要,我想分析需要更改代码的哪一部分以获得更好的性能
因为我的sql代码在不同的脚本(10个脚本)中,每个脚本包含5到20个查询,所以手动执行(检索这三个数字)非常麻烦。此外,我必须运行每个查询allone来获取每个查询的信息。如果我运行几个查询,我只得到整个运行的信息
我的想法是使用脚本(例如Perl、Python)从日志文件中检索信息。但存在以下问题:
SELECT * INTO OUTFILE 'path\log.txt'
FROM (SELECT COUNT(*) FROM table);
UPDATE table SET var = 1 WHERE x = 'a';
-- (1) query which retrieves affected and
located number of rows and time and stores in a log.txt
INSERT INT table SELECT * FROM stage;
-- (1) query which retrieves affected and
located number of rows and time and stores in a log.txt
有类似(1)的东西吗slowlog的
long\u query\u time
设置为1.0(或更少)是一个很好的工具。然后使用pt query digest
汇总数据。默认情况下,它会首先列出“最差”的查询。“我想监控不同查询的性能(持续时间)。一个简单的方法是查看HeidiSQL的输出。”。。“我建议你去看看。”雷蒙德:看起来不错。我成功地生成了文件(SET
),但在我运行查询时它不会收集信息。所以,我必须看看发生了什么。不过,谢谢你的建议,我认为这是正确的选择。