【问题标题】:django oraclepool uses only 2 sessions , WHY?django oraclepool 只使用 2 个会话,为什么?
【发布时间】:2012-01-11 12:58:34
【问题描述】:

我在apache+mod_wsgi下使用django 1.2.1 + cx_Oracle 5.0.4 11g + django oraclepool 0.7 + oracle client 11.2

在 django oraclepool 设置中,我设置了 min:4 max:16 increment:1 当应用程序启动时,我看到来自 httpd.exe 的 4 个会话 当我开始执行性能(64 个并发线程)测试时,只有 2 个会话处于活动状态,2 个处于非活动状态(如果我设置 min:8, 2 处于活动状态,6 个处于非活动状态),

为什么?我需要什么以及如何配置才能开始使用 djangopool 超过 2 个会话

UPD:服务器为双核,操作系统:windows server 2008r2

【问题讨论】:

  • 嗨,安德鲁,我的收藏夹中有这个问题。您找到解决问题的方法了吗?可以和我们分享一下吗?
  • 测试工具,女巫是用.Net编写的,被配置为使用2个连接,我用httpd.apache.org/docs/2.0/mod/mod_status.html来了解有多少Apache连接在使用

标签: django performance oracle11g cx-oracle


【解决方案1】:

仅仅因为您模拟 64 个用户并不意味着 Django 正在同时处理来自任何用户的请求。如果请求的持续时间很短,它们可能根本不会在时间上重叠,从而需要许多并发线程,从而使用数据库会话。

这一切的行为方式也可能取决于您使用的 Apache MPM 以及您是在嵌入式模式还是守护程序模式下使用 mod_wsgi,以及为 Apache 和 mod_wsgi 守护程序模式设置了哪些进程/线程。因此,您需要提供更多相关信息。

【讨论】:

  • 谢谢,你记得我检查了 mpm,但是我们有很长的 sql 查询(4 秒,100k+ 条记录),我启用了 mpm,结果是一样的
  • 我发现测试工具在2连接中工作,所以问题出在客户端测试工具中
猜你喜欢
  • 2011-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-22
  • 1970-01-01
  • 2019-10-12
  • 2019-04-14
  • 2010-09-28
相关资源
最近更新 更多