django + postgresql 数据库连接过多导致 timeout, 想问大佬应该如何排查?
資深大佬 : chaleaoch 7
主要是想排查是哪个 api 或者哪几个 api, 在哪种情况下导致 连接过多. 没有思路, 请大佬指点一下.
大佬有話說 (4)
主要是想排查是哪个 api 或者哪几个 api, 在哪种情况下导致 连接过多. 没有思路, 请大佬指点一下.
二已经讲了最重要的,我完善补充下:
1,开启慢日志,记录运行慢的语句,并用工具分析;
2, EXPLAIN 分析慢查询
3,`select * from pg_stat_activity`查看当前运行的进程 ;
4, nginx 开启 access 记录 cgi 执行时间;
5, 针对慢页面开启
参考:
* Django 数据库连接优化 https://docs.djangoproject.com/zh-hans/3.1/topics/db/optimization/
* Basic Performance Optimization in Django https://medium.com/@ryleysill93/basic-performance-optimization-in-django-ebd19089a33f
* PostgreSQL Performance Tips https://www.postgresql.org/docs/current/performance-tips.html