0

今天我在投入生产之前对在 Ubuntu Server 12.04 站点上运行的新 Django (1.5.4) 进行压力测试,我发现了一些意想不到的结果:

每秒执行 50 个请求,htop 显示 CPU 使用率约为 50%,RAM 也约为 50%。我目前没有使用 Django 缓存并在进行压力测试时执行正常的浏览器请求,加载每个页面大约需要 30 秒(没有任何负载需要 <= 2 秒)。服务器在测试期间没有崩溃,但我不明白为什么如果有将近 50% 的资源可用,它会持续这么长时间......我希望看到更高的 CPU 和内存使用率!

所以,我的问题是:是否有任何 Django 默认设置限制每秒的请求数?或者 Apache 或 mod_wsgi 是否有任何限制?我是否必须更改一些 MySQL 配置?

(注意:我是软件工程师,不是系统管理员)。

4

2 回答 2

1

可能缓存是您的答案。当我运行 Gunicorn 设置时,我不知道 Django 如何在 Apache 上运行,但它会为每个数据库调用进行往返。

如果您建立一些 memcache 来处理常见的结果集,您应该会看到很大的改进,因此您不必为每个请求进行旅行。

此外,一次 50 个并发连接请求似乎很多。尝试将其调低到 5 或 10 然后 25 而不是从 50 开始。

只是我的观点。

于 2013-10-31T18:56:21.680 回答
0

您正在运行多少个 django 工人?也许服务器无法加载到 100%,因为您正在运行少量工作人员,但是有很多数据库连接,所以工作人员大部分时间都在等待数据库,并阻止新连接。

于 2013-11-01T01:25:24.470 回答