小编lit*_*bug的帖子

Django/Apache/mod_wsgi 站点上的高 CPU 负载

使用 Apache bench 在 AWS 小实例 (Ubuntu 10.04) 上对 django 1.21/Apache/mod_wsgi 配置进行负载测试时,在低并发请求下显示出极高的 CPU 负载(使用正常运行时间和 vmstat):

ab -c 5 -n 1000 "my_url"
Run Code Online (Sandbox Code Playgroud)

...导致此正常运行时间输出:

18:04:54 up 9 days, 16:54,  3 users,  load average: 5.33, 2.45, 1.91
Run Code Online (Sandbox Code Playgroud)

即使 Apache bench 并发值为 2,CPU 仍为 100%。我正在同一区域/区域中的不同 AWS 实例中运行 Apache bench。关于问题出在哪里的想法,或者我应该如何继续调试?

细节:

  • 出于绝望,我安装了一个带有简单“Hello World”视图(没有 DB 调用等)的 vanilla django 项目/应用程序。结果一样。所以我怀疑这是我的应用程序代码。
  • 在负载测试期间内存使用情况看起来不错。

这是负载测试之前/期间/之后的 vmstat 输出:

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0 …
Run Code Online (Sandbox Code Playgroud)

django mod-wsgi apache-2.2

10
推荐指数
1
解决办法
3868
查看次数

标签 统计

apache-2.2 ×1

django ×1

mod-wsgi ×1