Hi, all!
Есть проблемы с использованием weight в upstream в целях распределения
нагрузки.
Если вес выставлен одинаковый, то нагрузка распределяется равномерно.
Пример:
upstream test_backend {
server localhost:59040 weight=10000;
server other_server:59040 weight=10000;
}
Если же выставить разный вес, то нагрузка распределяется неравномерно по
времени, каждые десять минут меняется сервер и все. Сужу об этом по графикам
загрузки серверов. 10 минут все запросы идут на один сервер, затем 10 мин. на
другой.
Пример:
upstream test_backend {
server localhost:59040 weight=10000;
server other_server:59040 weight=5000;
}
location / {
expires epoch;
fastcgi_pass test_backend;
fastcgi_upstream_max_fails 0;
fastcgi_next_upstream error timeout invalid_header http_500;
include fastcgi_param.conf;
}
Но обнаружил, что если цель треть нагрузки отправлять на другой сервер, то
такое помогает:
upstream test_backend {
server localhost:59040 weight=10000;
server localhost:59040 weight=10000;
server other_server:59040 weight=10000;
}
# nginx -v
nginx version: nginx/0.3.60
# uname -a
Linux tapo.net 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
Если имеется такая конструкция в конфиге
location / {
root
/web1/users/mds_rudn/www/download.mds.rudn.info/htdocs/;
proxy_pass http://127.0.0.1:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-NGX-Request NGX;
proxy_set_header Host $http_host;
index index.html index.htm;
}
И бекенд выдает X-Accel-Redirect - редирект идет снова через proxy_pass
хост? Как этого избежать, т.е. что бы nginx выдавал файл сам по uri
взятому из X-Accel-Redirect с корнем сайта root.
Здравствуйте nginx-ru,
Пару часов назад нас досили и через пару минут после начала атаки
nginx показал 500 ошибку. Причиной тому стало очень много открытых
файлов. OC FreeBSD.
kern.maxfiles: 16424
kern.maxfilesperproc: 14781
kern.openfiles: 610
После начала атаки бэкенд (Апач) не мог отвечать, загруженный
запросами и пытаясь при этом сделать внутренний редирект для nginx.
Логи кое-какие сохранились. Могу выслать.
Вопрос: какие файлы мог создавать nginx в большом количестве и как
этого в будущем избежать?
С уважением,
Михаил Монашёв, SoftSearch.ru
Member of Independent Software Developers Forum (ISDEF)
mailto:postmaster@softsearch.ru
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.
Добрый день,
после того как кол-во виртуальных хостов перевалило за пол тысячи начались
проблемы.
Nginx не реагирует никак на сигнал HUP. Приходится перезапускать через USR2.
# uname -a
Linux nl3 2.6.17-1.2157_FC5smp #1 SMP Tue Jul 11 23:24:16 EDT 2006 i686 i686
i386 GNU/Linux
# grep server_name /nginx/conf/virt.conf|wc -l
547
Linux, Fedora Core 5
Тестировал на версиях nginx: 0.3.38, 0.4.2
В error.log пусто. Кто-то сталкивался?
Поиском пользовался.
--
Kirill Morozov
Возможно ли настроить nginx так, чтобы в случае если нет заголовка
Last-Modified в ответе от бакенда, nginx сам подставлял текущее время в
этот заголовок.
--
Zherdev Anatoly.
товарищи,
я слышал, что некоторые из вас раздают с помощью своих nginx'ов
большие файлы размером примерно 700Mb.
есть предложение реализовать фичу по отдаче таких файлов
(per-location) без загрязнения файлового кэша, с помощью одного из
трёх механизмов:
- O_DIRECT у open(); -- ряд ограничений на Linux;
- posix_fadvise() -- везде?
- O_STREAMING, судьбу которого в линуксе я проследить не смог;
насколько реально работают хотя бы первые два, вот в чём вопрос? И
кто знает, чем кончилась история с последним способом, который в 2.5
дошёл аж до -mm?
--alexm
Только что установил пакет на Linux 2.6 Slackware 7.1.
Компиляция и установка прошла без ошибок, все файлы на месте. Но при запуске
ничего не происходит, ни сообщений, ни запущенного процесса по ps.
Заранее благодарю за подсказку.
Стандартная схема
nginx - apache 1.3.33
Имеем кучу apache в reading состоянии. Судя по логам и трейсу, nginx
делает коннект, апач его accept и вистит в read состоянии. Однако nginx
не спешит ему говорить что-то... и или говорит через большую паузу или
отваливается по таймауту (upstream timed out (110: Connection timed out)
while connecting to upstream).
Предположительно проблемы начались после переезда на 2.4.33.3.
Подскажите, что крутить или какую доп инфу дать.
Очень-очень маленькая фича.
Хочется в ngx_http_headers_module иметь допустимым синтаксис:
expires never;
или, аналогично как в ngx_http_userid_module:
expires max;
Семантика натурально та же.
--
Sergey Skvortsov
mailto: skv(a)protey.ru