nginx.conf itt lehet a kutya elásva? - lassan tölt be az oldal MEGOLDVA( limit conf ban zone rátát emeltük meg 1 ről 10 re)

Fórumok

Sziasztok!

Van egy nginx, amin futtatott php lassan tölt be, főleg, ha képek is tartoznak épp az oldalhoz. Cirka 20 mp kell, hogy egy galéria oldalt megnyisson (80 index kép). Ha a galéria oldalon a betöltés után rákattint az ember, akkor egy kép nagybani kinyitásához már nem kell sok idő 1 mp.
Az internet kapcsolat a megnyitó gépről 40 Mb/sec, a kiszolgáló pedig elméletileg 100 Mbit sávszélességben szolgáltat, így azt gondolom, hogy valami beállítás nem jó az nginxünkön.

user www-data;
worker_processes 1;
#worker_cpu_affinity 0001 0010 0100 1000;
pid /var/run/nginx.pid;
worker_rlimit_nofile 4096;

events {
worker_connections 768;
# T├║l sok kapcsolat eset├ęn kikapcsolni:
multi_accept on;
use epoll;
}

http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
reset_timedout_connection on;
client_header_timeout 60s;
client_body_timeout 60s;
send_timeout 60s;
types_hash_max_size 2048;

open_file_cache max=100000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# Logging Settings
##

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

##
# Gzip Settings
##

gzip on;
gzip_disable "msie6";
gzip_min_length 10240;
gzip_proxied expired no-cache no-store private auth;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

van még a conf.d ben olyan conf, amiben ezek vannak:
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
limit_req zone=one burst=100;

e két soron kívül még logformat meghatározás és ssl config van, ami nem okoz gondot.

Mi lehet elszúrva?

Hozzászólások

Javaslom valami teszt eszközzel is megnézni, ami nem a te gépedről tölti le, pl. tools.pingdom.com, lehet, hogy valami más tartalomra vár ami lassú.

Valamint nézd meg telnettel is, hogy úgy milyen gyorsan kapod vissza a HTML-t.

Linux üzemeltetési, rendszergazdai szolgáltatások

Ha a böngészőben megnézi az ember developer tools ban (fejlesztői eszköz vagy miszösz) az oldal betöltését, akkor az látszik, hogy a betöltendő képek "pending" állapotban vannak, egyesével veszi elő őket, és betölteni pedig 6ms alatt tölti be az egyes képeket.

Kezdetnek a epoll-t vedd ki, és a gzip-et offold. Aztán majd meglátjuk.

--
Fontos! Ha berágok, nem feltétlen személyed ellen szól...
openSUSE 13.1 x86_64

Szerintem az epoll Linux-on (ha nem őskövület) jó választás, ha jól emlékszem a dokumentáció is ezt javasolja.
De pl. BSD-n már másik érték kell.

A gzip pedig alap esetben csak a html fájlokat tömöríti, a jpeg-et nem (azt nem is célszerű ;-).
Itt pedig a képek betöltésével van probléma.
De igazad van, ha sok és nagyobb méretű html fájlokat kell kiszolgálnia az nginx-nek egymás után, akkor mivel csak 1 mag van munkára bírva, ezért a gzip használata is lassító tényező lehet.

Lehet, hogy benne van a doc-ban. De nálam ez kikommentezett, a gzipnek meg minden át van adva alapban (már legalább is azt hiszem, nem csak html-t tömörít). és azért javasoltam, hogy hátha ez a megoldás.

--
Fontos! Ha berágok, nem feltétlen személyed ellen szól...
openSUSE 13.1 x86_64

Kommentezd ki a limit-re vonatkozó két sort, indítsd újra az nginx-et, majd próbáld meg úgy.