nginx+apache2 (помогите с оптимизацией)

StAlKeR-xXl 173283 at gmail.com
Mon Feb 18 15:15:22 UTC 2013


День добрый! Устал платить разным "горе-оптимизаторам", поэтому прошу
помощи на данном форуме...
Имеем 8-ядерный сервер.. сайты на движке DLE... на сервере стоят:
apache2 + nginx + php 5 + mysql + memcache

Проблема в следующем: при серфинге по сайтам - иногда появляются задержки..
то есть можно кликнуть по ссылке рубрики, например.. и сайт будет вечно
думать... а если кликнуть еще раз - то мгновенно переходит...
Плюс Google Pagespeed и подобные сервисы показывают "включите сжатие"..
Хотя в конфиге сжатие включено...
Ну и вообще хотелось бы убедиться, что связка nginx+apache настроена на
146%.. =)

Конфиг таков:
user nginx;
worker_processes 8;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;


events {
worker_connections 1024;
multi_accept on;
}


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"';

## логи
#access_log /var/log/nginx/access.log main;
access_log off;
log_not_found off;


# File Cache Settings
##

#open_file_cache max=100000 inactive=60s;
#open_file_cache_valid 60s;
#open_file_cache_min_uses 1;
#open_file_cache_errors on;

sendfile on;
tcp_nodelay on;
tcp_nopush on;
#reset_timedout_connection on;
keepalive_timeout 15;

#####pagespeed######
#pagespeed on;
#pagespeed RewriteLevel PassThrough;

# needs to exist and be writable by nginx
#pagespeed FileCachePath /var/cache/ngx_pagespeed_cache;

#pagespeed EnableFilters
add_head,combine_css,combine_heads,move_css_to_head,outline_css,outline_javascript,remove_quotes,remove_comments;
#pagespeed RunExperiment on;
#pagespeed ExperimentSpec "id=3;percent=50;default";
#pagespeed ExperimentSpec "id=4;percent=50";

#pagespeed MemcachedServers "127.0.0.1:11211";
#pagespeed MemcachedThreads 64;

####### Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_static on;
gzip_vary on;
gzip_min_length 1024;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 32k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript
text/xml application/xml application/xml+rss text/javascript;

include /etc/nginx/conf.d/*.conf;
client_max_body_size 64m;
log_format isp '$bytes_sent $request_length';


server {
listen 1.2.3.4:80;
server_name site.net www.site.net *.site.net;
rewrite ^(/manager/.*)$ https://$host$1 permanent;
error_page 404 = @fallback;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass http://1.2.3.4:8080;
proxy_redirect http://site.net:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
set $memcached_key "$uri?$args";
memcached_pass localhost:11211;
error_page 404 502 504 = @fallback;
proxy_pass http://1.2.3.4:8080;
proxy_redirect http://site.net:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location ~*
^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
access_log /var/www/httpd-logs/site.net.access.log ;
access_log /var/www/nginx-logs/site isp;
set $proot "/var/www/site/data/www/site.net";
if ( $host = "site.net" ) {
break;
}
if ( $host = "www.site.net" ) {
break;
}
if ( $host ~* ^((.*).site.net)$ ) {
set $proot /var/www/site/data/www/$1;
break;
}
root $proot;
}
location @fallback {
proxy_pass http://1.2.3.4:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}

Также ряд важных вопросов:
- как убедиться, что nginx и memcache работают? у memcache занято всего
12Mb памяти.... маловато...
- как проверить "включено ли сжатие" и как его включить?
- mod_pagespeed ( https://github.com/pagespeed/ngx_pagespeed) кто-нибудь
включал? я включаю - пишет, что вроде все ОК... но думаю, что не работает

- ну и если можно, то помогите в целом оптимизировать конфиг...
сам конфиг в целом:
nginx version: nginx/1.2.7
built by gcc 4.4.5 (Debian 4.4.5-8)
TLS SNI support enabled
configure arguments: --add-module=/root/ngx_pagespeed --prefix=/etc/nginx
--sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid
--lock-path=/var/run/nginx.lock
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx
--with-http_ssl_module --with-http_realip_module
--with-http_addition_module --with-http_sub_module --with-http_dav_module
--with-http_flv_module --with-http_mp4_module
--with-http_gzip_static_module --with-http_random_index_module
--with-http_secure_link_module --with-http_stub_status_module --with-mail
--with-mail_ssl_module --with-file-aio --with-ipv6

Заранее спасибо.. устал читать мануалы и тыкать "туда-сюда"...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130218/a87c33c1/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru