我试图看看为什么我的 django 网站(gunicorn 4 workers)在重负载下很慢,我做了一些分析http://djangosnippets.org/snippets/186/没有任何明确的答案,所以我从头开始使用一些负载测试ab -n 1000 -c 100 http://localhost:8888/
一个简单的 Httpreponse("hello world") 没有中间件 ==> 3600req/s
带有中间件(缓存会话、缓存身份验证)的简单 Httpreponse("hello world") ==> 2300req/s
一个简单的 render_to_response 只打印一个表单(缓存模板)==> 1200req/s(响应时间除以 2)
具有 50 个内存缓存查询的简单 render_to_response ==> 157req/s
Memcache 查询应该比这快得多(我使用的是 PyLibMCCache)?模板渲染和这个结果一样慢吗?
我尝试了不同的分析技术,但没有成功。
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 46936
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 400000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 46936
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
$ sysctl -p
fs.file-max = 700000
net.core.somaxconn = 5000
net.ipv4.tcp_keepalive_intvl = 30
我正在使用 ubuntu 12.04(6Go 内存,核心 i5)
请问有什么帮助吗?