我在 Stack Overflow 上问过这个问题,但也许这更像是 SF 工作人员的问题。
于是就出现了许多像文章这样一个最近,结合光前端Web服务器使用时颂扬Django的静电发生器的美德。这对我来说很有意义。
但是,我没有得到其他人报告的结果——每秒数千个请求——我不知道为什么会这样。
我正准备重新设计我的报纸网站。我现在在测试服务器上使用静态生成器。当我在特定的静态页面上运行 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
Run Code Online (Sandbox Code Playgroud)
我top在围攻期间在服务器上观察,我可以看到它根本没有攻击 Apache 或数据库服务器。所以它实际上是为缓存的页面提供服务。Nginx 正在运行,但它的内存使用率从未超过 2%。CPU 保持大约 95% 的空闲状态。
我究竟做错了什么?我可能以某种方式错误配置了 nginx 吗?我的主要配置文件粘贴在下面;特定于该站点的包含几乎是静态生成器主页上示例配置的副本。我在 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/*;
}
Run Code Online (Sandbox Code Playgroud)
您的 nginx 实际上正在以合理的速率提供文件。在一台外部机器上,我每秒能够通过ab该页面上的一个 CSS 文件获得 371 个请求。
您正在测试整个页面,这意味着您正在对其发出 22 个请求。我在休息时每秒可以收到大约 40 个请求http://journal.streamlister.com/news/。
它可能会更快,但您在 VPS 上与其他人共享 CPU 和磁盘 I/O。
| 归档时间: |
|
| 查看次数: |
9775 次 |
| 最近记录: |