
概述原文:http://blog.csdn.net/hantiannan/article/details/4513028 1.log_min_duration_statement 从log找出执行超过一定时间的 SQL。postgresql.conf配置文件 设置 log_min_duration_statement参数的 值。 这个参数是设置执行最小多长时间的 SQL 输出 到log。 例如 原文:http://blog.csdn.net/hantiannan/article/details/4513028
| 1.log_min_duration_statement |
| 从log找出执行超过一定时间的sql。postgresql.conf配置文件设置log_min_duration_statement参数的值。 这个参数是设置执行最小多长时间的sql输出到log。 |
| 例如输出执行超过3秒的sql:log_min_duration_statement = 3s |
| 这个参数设置为-1是无效。设置为0是输出所有的sql,但这样会增加服务器负担,一般不要设置太低的值。 |
| 这样设置后输出的sql例子如下: |
| LOG:duration: 3016.724 ms statement: SELECT count(*) |
| FROMpg_class |
|
| 2.contrib/auto_explain功能。Postgres8.4后增加的功能。 |
| 默认这个功能不能使用的,需要在postgresql.conf配置文件中设置以下参数。 |
| shared_preload_librarIEs= 'auto_explain' |
| custom_variable_classes= 'auto_explain' |
| auto_explain.log_min_duration= 4s |
| 这样系统在执行的时候如果遇到超过4秒的sql的话,会自动把执行计划输出到log。这样就直接看log就更加容易找到问题点。 |
| 执行计划例子: LOG:duration: 4016.724msplan: |
| Aggregate(cost=14.90..14.91rows=1 wIDth=0) |
| ->Hash Join(cost=3.91..14.70rows=81 wIDth=0) |
| HashCond: (pg_class.oID = pg_index.indrelID) |
| ->Seq Scan onpg_class(cost=0.00..8.27rows=227 wIDth=4) |
| ->Hash(cost=2.90..2.90 rows=81wIDth=4) |
| ->Seq Scan onpg_index(cost=0.00..2.90rows=81 wIDth=4) |
| Filter:indisunique |
| STATEMENT:SELECTcount(*) |
| FROMpg_class,pg_index |
| WHEREoID = indrelID AND indisunique; |
|
| 3.log统计分析工具(Postgresql log analyzer) |
| 比较有名是pgFouine。这个工具是自动分析指定的log,然后生成HTML报表。把sqllog图像化后更加直观。 可以统计分析最慢的sql,调用最多的sql,花费时间最多的sql等等分类。这样我们就很容易找到速度慢的sql。再加以改善。 Postgresqlsql的性能调试方法2--数据库log分析" src="" src="https://www.jb51.cc/res/2020/05-08/07/46c8b054896ebdc032eacc833610af5e.png"> 报表例子如下: Postgresqlsql的性能调试方法2--数据库log分析" src="http://simg.sinaJs.cn/blog7style/images/common/sg_trans.gif"> Postgresqlsql的性能调试方法2--数据库log分析" src="http://simg.sinaJs.cn/blog7style/images/common/sg_trans.gif"> Postgresqlsql的性能调试方法2--数据库log分析" src="" src="https://www.jb51.cc/res/2020/05-08/07/46c8b054896ebdc032eacc833610af5e.png"> |
@H_976_403@ 总结 以上是内存溢出为你收集整理的转载: PostgreSQL SQL的性能调试方法2--数据库log分析全部内容,希望文章能够帮你解决转载: PostgreSQL SQL的性能调试方法2--数据库log分析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
赞
(0)打赏
微信扫一扫
支付宝扫一扫
评论列表(0条)