django oraclepool 仅使用 2 个会话,为什么?
我
在 django oraclepool 设置中的 apache+mod_wsgi 下使用 django 1.2.1 + cx_Oracle 5.0.4 11g + django oraclepool 0.7 + oracle client 11.2 我设置了 min:4 max:16 增量:1 当应用程序启动时,我看到来自 httpd.exe 的 4 个会话 当我开始性能(64 个并发线程)测试时,只有 2 个会话处于活动状态,2 个处于非活动状态(如果我设置最小值:8、2 个活动、6 个不活动),
为什么?我需要配置什么以及如何配置才能开始使用 djangopool 超过 2 个会话
UPD:服务器是双核,操作系统:windows server 2008r2
I'm using django 1.2.1 + cx_Oracle 5.0.4 11g + django oraclepool 0.7 + oracle client 11.2 under apache+mod_wsgi
in django oraclepool settings I set min:4 max:16 increment:1
when application started I see 4 sessions from httpd.exe
when i'm starting performace (64 concurrent threads) test only 2 sessions are active, and 2 inactive (if I set min:8, 2 active, 6 inactive),
WHY? what and how I need to configure to start using djangopool more than 2 sessions
UPD: server is dualcore, OS: windows server 2008r2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
仅仅因为您模拟 64 个用户并不意味着 Django 会同时处理来自每个用户的请求。如果请求的持续时间很短,它们可能不会在时间上重叠,从而需要许多并发线程,从而需要使用数据库会话。
这一切的行为方式也可能取决于您正在使用的 Apache MPM,以及您是否在嵌入式模式或守护进程模式下使用 mod_wsgi,以及为 Apache 和 mod_wsgi 守护进程模式设置了哪些进程/线程。因此,您需要提供更多相关信息。
Just because you simulate 64 users doesn't mean that Django is handling a request from ever user at the same time. If requests are short in duration they simply may not overlap in time so as to require many concurrent threads and thus database sessions be used.
How this all behaves may also be dictated by the Apache MPM you are using and whether you are using mod_wsgi in embedded mode or daemon mode and what processes/threads is set for Apache and mod_wsgi daemon mode. So, you would need to provide more information about that.