非常慢的Django:Multiple";显示默认的“事务隔离”;通话记录
我正在使用Django 1.5.4和PostgreSQL 9.2.4.-2到psycopg2 2.5.1 从某个时候起,我注意到我的Django站点变得非常慢——只需2-3秒就可以加载几个轻量级查询的小页面 Django调试工具栏显示:非常慢的Django:Multiple";显示默认的“事务隔离”;通话记录,django,postgresql,psycopg2,Django,Postgresql,Psycopg2,我正在使用Django 1.5.4和PostgreSQL 9.2.4.-2到psycopg2 2.5.1 从某个时候起,我注意到我的Django站点变得非常慢——只需2-3秒就可以加载几个轻量级查询的小页面 Django调试工具栏显示: 241,70毫秒(161次查询)-查询时间 时间2992ms-总页面加载时间 所以,查询不应该是问题所在。。。但那不是真的!我已经设置了postgresql查询日志,我得到了以下信息: [LOG ENTRY] 2013-09-18 11:17:05.148 MS
241,70毫秒(161次查询)
-查询时间
时间2992ms
-总页面加载时间
所以,查询不应该是问题所在。。。但那不是真的!我已经设置了postgresql查询日志,我得到了以下信息:
[LOG ENTRY] 2013-09-18 11:17:05.148 MSK 10304 127.0.0.1(38834)LOG: duration: 0.762 ms statement: SELECT ...
[LOG ENTRY] 2013-09-18 11:17:05.155 MSK 10304 127.0.0.1(38834)LOG: duration: 0.086 ms statement: SHOW default_transaction_isolation
[LOG ENTRY] 2013-09-18 11:17:05.158 MSK 10304 127.0.0.1(38834)LOG: duration: 0.804 ms statement: SELECT ...
[LOG ENTRY] 2013-09-18 11:17:05.164 MSK 10304 127.0.0.1(38834)LOG: duration: 0.092 ms statement: SHOW default_transaction_isolation
[LOG ENTRY] 2013-09-18 11:17:05.168 MSK 10304 127.0.0.1(38834)LOG: duration: 0.757 ms statement: SELECT ...
[LOG ENTRY] 2013-09-18 11:17:05.175 MSK 10304 127.0.0.1(38834)LOG: duration: 0.085 ms statement: SHOW default_transaction_isolation
[LOG ENTRY] 2013-09-18 11:17:05.178 MSK 10304 127.0.0.1(38834)LOG: duration: 0.779 ms statement: SELECT ...
[LOG ENTRY] 2013-09-18 11:17:05.185 MSK 10304 127.0.0.1(38834)LOG: duration: 0.091 ms statement: SHOW default_transaction_isolation
[LOG ENTRY] 2013-09-18 11:17:05.190 MSK 10304 127.0.0.1(38834)LOG: duration: 1.492 ms statement: SELECT ...
[LOG ENTRY] 2013-09-18 11:17:05.197 MSK 10304 127.0.0.1(38834)LOG: duration: 0.090 ms statement: SHOW default_transaction_isolation
在我的目标查询之后有一个显示默认\u事务\u隔离
查询。日志显示执行这个奇怪的查询需要0.086毫秒,但它会造成大约10毫秒的延迟:
- 查询#1已完成11:17:05.148
- 奇怪的疑问
- 查询#2已完成11:17:05.158
UPD纯Django项目(仅Django、postgresql、psycopg2)执行查询时没有该bug。也许项目的应用程序或第三方应用程序中存在某些内容。我正在努力调查。我花了几天时间才发现问题的根源。由于我的错误猜测,花了这么多时间:我确信问题是由数据库或数据库python连接库引起的 原因是django调试工具栏——据我所知,它对SQL执行时间的度量通常会导致性能低下
总之,如果您的Django站点运行缓慢,请检查是否关闭了
DEBUG=False
和Django调试工具栏
。在2020年仍然有效。我也有过同样的经历,我想知道为什么要花很长时间才能加载我的页面。在我停用django调试工具栏后,它立即再次呈现。非常感谢。