nginx как frontend к apache
Olexander Shtepa
isk at idegroup.com
Mon Aug 3 10:09:43 MSD 2009
> Nginx очень быстр при работе со статикой.
Устал от этого ля-ля (да, эмоции).
Вот слепил на быструю руку небольшое сравнение.
Имеем:
Apache - 11503.40 [#/sec]
Nginx - 13601.67 [#/sec]
В данном случае Nginx отдавал файл всего на 18% быстрее чем Apache. Не вижу оснований для "очень быстр", только "немного быстрее".
Apache
Конфиг:
ServerTokens Prod
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Timeout 120
KeepAlive On
MaxKeepAliveRequests 100000
KeepAliveTimeout 15
StartServers 1
MinSpareServers 1
MaxSpareServers 3
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 0
Listen 127.0.0.1:80
User apache
Group apache
ServerAdmin root at localhost
DocumentRoot "/var/www/html"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
DefaultType text/plain
HostnameLookups Off
EnableMMAP on
EnableSendfile on
FileETag None
ErrorLog logs/error_log
LogLevel warn
ServerSignature Off
AddDefaultCharset UTF-8
$ ab -Sq -c 1 -n 20000 -k http://127.0.0.1/test
Server Software: Apache
Server Hostname: 127.0.0.1
Server Port: 80
Document Path: /test
Document Length: 628 bytes
Concurrency Level: 1
Time taken for tests: 1.739 seconds
Complete requests: 20000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 20000
Total transferred: 17780001 bytes
HTML transferred: 12560000 bytes
Requests per second: 11503.40 [#/sec] (mean)
Time per request: 0.087 [ms] (mean)
Time per request: 0.087 [ms] (mean, across all concurrent requests)
Transfer rate: 9986.84 [Kbytes/sec] received
Nginx
Конфиг:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
default_type application/octet-stream;
access_log off;
sendfile on;
keepalive_timeout 65;
server {
listen 127.0.0.1:80;
server_name _;
root /var/www/html;
}
}
$ ab -Sq -c 1 -n 20000 -k http://127.0.0.1/test
Server Software: nginx/0.6.36
Server Hostname: 127.0.0.1
Server Port: 80
Document Path: /test
Document Length: 628 bytes
Concurrency Level: 1
Time taken for tests: 1.470 seconds
Complete requests: 20000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 20000
Total transferred: 17180000 bytes
HTML transferred: 12560000 bytes
Requests per second: 13601.67 [#/sec] (mean)
Time per request: 0.074 [ms] (mean)
Time per request: 0.074 [ms] (mean, across all concurrent requests)
Transfer rate: 11409.99 [Kbytes/sec] received
> apache при каждом запросе создает дочерний процесс .
Какой бред.
Хотя, да, Apache такой гибкий что его можно и это заставить делать, но никто в своём уме не будет этого делать.
Случай с CGI не считается, так как он такой и есть, кстати именно поэтому в Nginx никогда не будет CGI.
> nginx же очень компактно расходует память.
Он её расходует сколько, скольно нужно. Apache тоже бесполезно память не расходует.
ЗЫ: почему Nginx таки используют напишу ответом на первое письмо
More information about the nginx-ru
mailing list