смысле? на сайтах не картинки лежат, а странички (ну с картинками
конечно), сайты то есть, информация, "я&моя собачка". К страничкам
надо рекламу/объявления добавлять, и сверху и снизу.
Ну вот эти картинки нужно не проксировать, а отдавтаь сразу nginx'ом.
Для картинок можно вычислять root и отдавать их nginx'ом:
location ~* \.(gif|jpe?g|png)$ {
вычисление рута, исходя из $http_host
}
Ок, я так сделал. Картинки отдаются nginx'ом путем приведенного выше
блока, а остальное проксируется на апач. Результат опять плачевный:
на большом трафике задержки. Тормоза, потом появляется страничка,
потом картинки с большими задержками постепенно отдаются. Иногда
вылазит и "504 Gateway Time-out". Типичная картина
# ps ax -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'|grep -v
'grep'
PID PPID USER %CPU VSZ WCHAN COMMAND
13645 1 root 0.0 640 pause nginx: master process
/usr/local/sbin/nginx
31278 13645 www 0.0 8492 kqread nginx: worker process is shutting down
(nginx)
18876 13645 www 0.0 9648 inode nginx: worker process (nginx)
24261 13645 www 0.0 3268 inode nginx: worker process (nginx)
7267 13645 www 0.0 2016 inode nginx: worker process (nginx)
19063 13645 www 0.0 1944 inode nginx: worker process (nginx)
25921 13645 www 0.0 2420 biowai nginx: worker process (nginx)
3580 13645 www 0.0 1856 inode nginx: worker process (nginx)
9086 13645 www 0.0 2152 inode nginx: worker process (nginx)
16341 13645 www 0.0 1840 inode nginx: worker process (nginx)
21323 13645 www 0.0 2248 inode nginx: worker process (nginx)
12488 13645 www 0.0 1260 biowai nginx: worker process (nginx)
12507 13645 www 0.0 1832 inode nginx: worker process (nginx)
16170 13645 www 0.0 2132 inode nginx: worker process (nginx)
2954 13645 www 0.0 2196 inode nginx: worker process (nginx)
30187 13645 www 0.0 1924 inode nginx: worker process (nginx)
12605 13645 www 0.0 2108 inode nginx: worker process (nginx)
28548 13645 www 0.0 2092 inode nginx: worker process (nginx)
1518 13645 www 0.0 2008 inode nginx: worker process (nginx)
Засада блин - апач захлебывается, сервак почти валит, но дает трафика
больше; nginx меньше сервер нагружает, но трафика выдает меньше в
несколько раз, задержки тоже большие.
Судя по top, nginx'ы блокируются на диске. Нужно уменьшить worker_processes
до 1, а потом постепенно увеличивать и смотреть на трафик.
Игорь Сысоев
http://sysoev.ru