所以最近有很多文章如this one,当与轻型前端Web服务器结合使用时,赞美Django Static Generator的优点。这对我来说很有意义。
但是,我没有得到其他人报告的结果 - 每秒数千个请求 - 我不知道为什么会这样。
我正准备重新设计我的报纸网站。我现在在测试服务器上使用静态生成器。当我在特定的静态页面上运行Apache Bench时,我得到了相当悲惨的结果:
ab -c 10 -n 1000 http://journal.streamlister.com/news/
Concurrency Level: 10
Time taken for tests: 53.011 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 21281212 bytes
HTML transferred: 21067360 bytes
Requests per second: 18.86 [#/sec] (mean)
Time per request: 530.107 [ms] (mean)
Time per request: 53.011 [ms] (mean, across all concurrent requests)
Transfer rate: 392.04 [Kbytes/sec] received
当围攻开启时,我在服务器上看top
,我可以看到它根本没有击中Apache或数据库服务器。事实上,它正在为缓存页面提供服务。 Nginx正在运行,但它永远不会超过2%的内存使用量。 CPU仍然闲置约95%。
我做错了什么?我能以某种方式错误配置nginx吗?我的主配置文件粘贴在下面;此网站特有的包含几乎是Static Generator home page上示例配置的副本。我在Slicehost 256k切片上运行Ubuntu 9.10。
user not_my_real_username;
worker_processes 4;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 8192;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
keepalive_timeout 0;
#keepalive_timeout 65;
tcp_nodelay on;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
答案 0 :(得分:3)
在这种情况下,我不是专家。但是如果CPU处于空闲状态并且内存不是瓶颈,那么硬盘就会出现在我脑海中。也许它的速度非常慢,而且速度很快就是一个破碎的硬盘。
你应该运行一些简单的基准测试。
答案 1 :(得分:1)
你在哪里做测试?同一数据中心中的另一台服务器,或您的家庭/工作互联网连接?从家庭连接可靠地测试您网站的性能将很困难。首先,您的互联网连接可能太慢,其次,许多个人路由器无法处理那么多并发连接。
另外......尝试在没有图像的情况下运行基准测试。