Добрый вечер,
подскажите, что можно подтюнинговать при запуске php как FastCGI?
Какие есть узкие места и как их определять?
Есть ли какие-то методики?
При очень большом количестве запросов (синтетическая нагрузка с помощью ab) вот
такое в error_log:
2007/08/01 22:01:45 [info] 18126#0: *158078 client closed prematurely
connection, so upstream connection is closed too while connecting to upstream,
client: *CUT*, server: *CUT*, URL: "/show.php", upstream:
"fastcgi://127.0.0.1:9000", host: "*CUT*"
2007/08/01 22:01:45 [info] 18126#0: *157896 client closed prematurely
connection, so upstream connection is closed too while connecting to upstream,
client: *CUT*, server: *CUT*, URL: "/show.php", upstream:
"fastcgi://127.0.0.1:9000", host: "*CUT*"
ab запускаю так:
ab -n 1000000 -c 400 "http://server/show.php"
Если -c 40, то работает нормально, обслуживается примерно 850 запросов в
секунду.
И ещё маленький вопрос. Как-то можно в nginx вообще отключить access_log?
Вот такой конфиг:
user nginx nginx;
worker_processes 4;
error_log /var/log/nginx/error.log debug;
events {
worker_connections 2048;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
keepalive_timeout 0;
server {
listen CUT_IP:80;
server_name CUT_SERVER;
send_timeout 30;
client_body_timeout 30;
client_header_buffer_size 4k;
location / {
root /home/test/;
index index.php index.html index.htm;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /home/nginx/htdocs;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/home/test/adv$fastcgi_script_name;
fastcgi_param _SERVER /home/test;
fastcgi_param DOCUMENT_ROOT /home/test;
include /etc/nginx/fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
}
В каталоге логов nginx'а всегда присутствует файл access_log, который
наполняется логом запросов. Логов очень много и после тестирования хочется их
отключить.
--
Ilyas