LINUX.ORG.RU
ФорумAdmin

помогите донастроить nginx proxy

 ,


1

1

Ubuntu 14.04lts, /etc/nginx:

https://github.com/puzrin/nginx.conf.tmp

Родные конфиги вообще не трогал, только добавлял в conf.d и sites-available. Общий смысл прокси такой:

- кешируем статические ассеты
- кешируем аплоады юзеров, которые в gridfs
- прокидываем вебсокеты
- прокидываем запросы к динамике и жмем если надо

Остались вопросы:

- зачем нужна папка /var/lib/nginx/proxy ? Не зря ли я под кеш сделал /var/cache/nginx/ ?
- надо ли как-то крутить proxy_buffering? Например отключать на локейшене с вебсокетами.
- что еще мог забыть?

★★★★★

1. gzip_static для статики.
2. Кэширование статики, если она лежит на той же тачке - нахер не 
нужн0. Исключение - кэш в tmpfs, а статика на самом диске (и то, если RAID10/RAIDZ с выносом журнала/ZIL в SSD - можно и не париться с tmpfs).
3. Количество воркеров по количеству ядер.
4. worker_connections как минимум 4096.
5. aio threads && directio (средний размер файла, который явно нет смысла пихать в кэш ФС, обычно ставят 8Мб).
6. use epoll/kqueue в зависимости от ОС.
7. Не сильно понял, зачем у тебя статика проксируется на бэкэнд, нжинкс её сам замечательно раздаст.
8. если планируется загрузка файлов на сайт - рекомендую взять mod_upload, нагрузка гораздо ниже чем средствами бэкэнда
svr4 ()
Последнее исправление: svr4 (всего исправлений: 1)
Ответ на: комментарий от svr4

2. Сорри, плохо выразился. Под статикой подразумевается, что результат не меняется, но сами данные раздаются скриптом. Так удобнее.
- Ассетов меньше метра, там кроить на кеше бессмысленно.
- Картинки из gridfs напрямую не раздать - модули под nginx кривые. Поэтому тоже скрипт.
4. А можно в убунте не перезаписывая дефолтных конфигов глобальные переменные как-то подкрутить?
5. aio = on по дефолту, directio вроде как нет смысла включать - у меня «файлы» в базе меньше мегабайта. Сойдет?
7. Можно напрямую раздать только часть (ассеты), но профита не будет, и лишний гимор - у прокси настройка проще.

Vit ★★★★★ ()
Ответ на: комментарий от Vit

Алсо, если использовать thread pools aio - рекомендую обновить сысоева на последнюю версию. Поскольку в stable дистрибах его поддержки либо вообще нет, либо «highly experimental». При этом в последней стабильной версии с сайта уже всё норм.

svr4 ()
Ответ на: комментарий от svr4

У меня PPA последний, там 1.9.7. В общем это лирика. Тут во-первых демка, во-вторых даже на продакшене не будет таких нагрузок чтобы подкручивание nginx сильно сказалось на производительности (все сожрет нода и база).

Меня гораздо больше волнуют рядовые вопросы из первого поста:

- не зря ли я под кеш склепал отдельный каталог в убунте
- правильно ли в кеше время сконфигурировано
- можно ли как-то не трогая дефолтных конфигов подкрутить event и количество открытых файлов.

Мануалы читал, стекло протирал, колесо пинал. Просто очень давно nginx не конфиругировал, отстал от жизни. Хотелось бы чтобы кто-то глянул что я нарисовал (добавленные файлы, дефолтные не трогал) и прокомментировал.

Vit ★★★★★ ()
Последнее исправление: Vit (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.