home.social

#reload — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #reload, aggregated by home.social.

fetched live
  1. apachectl graceful sends SIGUSR1 so kids re-fork with new ModSecurity rules while old ones finish in-flight requests. Rule tree recompiles per child at startup. Zero downtime.
    valtersit.com/vault/hotreload-
    #apache #reload #ValtersIT

  2. apachectl graceful sends SIGUSR1 so kids re-fork with new ModSecurity rules while old ones finish in-flight requests. Rule tree recompiles per child at startup. Zero downtime.
    valtersit.com/vault/hotreload-
    #apache #reload #ValtersIT

  3. nginx -s reload может не применить конфиг

    Пока идёт бинарный апгрейд nginx, systemctl reload nginx не применяет конфиг так, как вы думаете: в лучшем случае к половине процессов сервера, в худшем — вообще никуда. Код возврата ноль в обоих случаях, в error.log пусто. Что именно у вас — решает одна строчка в юните: -s reload бьёт по pid-файлу, а он после USR2 принадлежит новому мастеру; kill -s HUP $MAINPID бьёт по старому, а тот конфиг вообще не перечитывает, и это описано в документации nginx — в разделе про обновление исполняемого файла, куда по другому поводу не заходят. Это первая из пяти проверок. Я взял пять ходовых утверждений про reload в nginx, померил каждое на стенде — и получил результаты по обе стороны: три подтвердились, два развалились. Развалившиеся оказались интереснее. Не работают ровно те страшилки, что про слушающий сокет: listen ... reuseport бесшовность не ломает (inode’ы сокетов до и после reload одни и те же — их держит мастер, а не воркер), паузы в accept при reload не существует вовсе (msleep(100) стоит ПЕРЕД QUIT), а значит и арифметика про переполнение backlog на reload — про нагрузку, а не про reload. Зато подтвердилось то, о чём почти не пишут. keepalive_min_timeout оставляет уходящего воркера в живых, и тот обслуживает запросы, которых в момент reload ещё не существовало — по старому конфигу. А ngx_close_idle_connections не различает направление соединения, поэтому каждый reload сбрасывает пул keepalive к бэкендам — и с 1.29.7 это касается всех, у кого есть блок upstream : пул там включён по умолчанию, 32 соединения на воркер. Правило из первой части — «соединение, открытое до reload, нового конфига не увидит» — приходится переформулировать: держится старого конфига не соединение, а процесс. В конце — Traefik, у которого reload’а нет вовсе, и который умеет не применить конфиг своим способом: кольцевой буфер на одно сообщение и двухсекундный дроссель. nginx release-1.31.3, traefik v3.7.10, все опыты в репозитории, запуск одной командой.

    habr.com/ru/articles/1068364/

    #nginx #reload #nginx_s_reload #systemd #бинарный_апгрейд #keepalive #upstream #reuseport #backlog #traefik

  4. nginx -s reload может не применить конфиг

    Пока идёт бинарный апгрейд nginx, systemctl reload nginx не применяет конфиг так, как вы думаете: в лучшем случае к половине процессов сервера, в худшем — вообще никуда. Код возврата ноль в обоих случаях, в error.log пусто. Что именно у вас — решает одна строчка в юните: -s reload бьёт по pid-файлу, а он после USR2 принадлежит новому мастеру; kill -s HUP $MAINPID бьёт по старому, а тот конфиг вообще не перечитывает, и это описано в документации nginx — в разделе про обновление исполняемого файла, куда по другому поводу не заходят. Это первая из пяти проверок. Я взял пять ходовых утверждений про reload в nginx, померил каждое на стенде — и получил результаты по обе стороны: три подтвердились, два развалились. Развалившиеся оказались интереснее. Не работают ровно те страшилки, что про слушающий сокет: listen ... reuseport бесшовность не ломает (inode’ы сокетов до и после reload одни и те же — их держит мастер, а не воркер), паузы в accept при reload не существует вовсе (msleep(100) стоит ПЕРЕД QUIT), а значит и арифметика про переполнение backlog на reload — про нагрузку, а не про reload. Зато подтвердилось то, о чём почти не пишут. keepalive_min_timeout оставляет уходящего воркера в живых, и тот обслуживает запросы, которых в момент reload ещё не существовало — по старому конфигу. А ngx_close_idle_connections не различает направление соединения, поэтому каждый reload сбрасывает пул keepalive к бэкендам — и с 1.29.7 это касается всех, у кого есть блок upstream : пул там включён по умолчанию, 32 соединения на воркер. Правило из первой части — «соединение, открытое до reload, нового конфига не увидит» — приходится переформулировать: держится старого конфига не соединение, а процесс. В конце — Traefik, у которого reload’а нет вовсе, и который умеет не применить конфиг своим способом: кольцевой буфер на одно сообщение и двухсекундный дроссель. nginx release-1.31.3, traefik v3.7.10, все опыты в репозитории, запуск одной командой.

    habr.com/ru/articles/1068364/

    #nginx #reload #nginx_s_reload #systemd #бинарный_апгрейд #keepalive #upstream #reuseport #backlog #traefik

  5. nginx не умеет reload. Он умеет fork

    Деплой делает nginx -s reload . Команда возвращает ноль, nginx -T показывает новый конфиг, в error.log ровно одна строка — reconfiguring. А keep-alive соединение, открытое секундой раньше, в этот момент закрывается. Само по себе это не ошибка: сервер вправе закрыть простаивающий keep-alive когда угодно. Ошибку даёт гонка — FIN уходит в тот момент, когда клиент уже записал в сокет следующий запрос. Идемпотентный он повторит, POST — нет. Разбор по исходникам на фиксированных тегах: nginx release-1.31.3, httpd 2.4.68, traefik v3.7.10, плюс замер всех четырёх (с HAProxy) на одном стенде в одном прогоне. Выясняется, что мастер nginx конфиг не перечитывает вообще: он строит новый цикл целиком и форкает новых воркеров, а старым остаётся ровно то, что у них было. Apache приходит к тому же контракту через счётчик поколений, HAProxy — через замену процесса. А у одного из четырёх второй запрос в том же самом сокете возвращает уже новый конфиг — и причина не та, о которой вы подумали. Внутри: почему документация nginx сама создаёт половину недоразумения; почему WebSocket и SSE не попадают под ngx_close_idle_connections и держат старого воркера сколько угодно долго, а HTTP/2 попадает всегда и получает GOAWAY; как сигнал родителя у Apache доезжает до конкретного соединения через пять звеньев; и таблица из двенадцати клеток, в которой четыре реализации расходятся ровно в одной. Со стендом (один docker build, один docker run), полными выводами ps и тремя claims-*.tsv, где каждое утверждение о коде проверяется скриптом.

    habr.com/ru/articles/1067686/

    #nginx #traefik #apache_httpd #haproxy #reload #graceful_restart #keepalive #исходный_код #worker_process #обратный_прокси

  6. nginx не умеет reload. Он умеет fork

    Деплой делает nginx -s reload . Команда возвращает ноль, nginx -T показывает новый конфиг, в error.log ровно одна строка — reconfiguring. А keep-alive соединение, открытое секундой раньше, в этот момент закрывается. Само по себе это не ошибка: сервер вправе закрыть простаивающий keep-alive когда угодно. Ошибку даёт гонка — FIN уходит в тот момент, когда клиент уже записал в сокет следующий запрос. Идемпотентный он повторит, POST — нет. Разбор по исходникам на фиксированных тегах: nginx release-1.31.3, httpd 2.4.68, traefik v3.7.10, плюс замер всех четырёх (с HAProxy) на одном стенде в одном прогоне. Выясняется, что мастер nginx конфиг не перечитывает вообще: он строит новый цикл целиком и форкает новых воркеров, а старым остаётся ровно то, что у них было. Apache приходит к тому же контракту через счётчик поколений, HAProxy — через замену процесса. А у одного из четырёх второй запрос в том же самом сокете возвращает уже новый конфиг — и причина не та, о которой вы подумали. Внутри: почему документация nginx сама создаёт половину недоразумения; почему WebSocket и SSE не попадают под ngx_close_idle_connections и держат старого воркера сколько угодно долго, а HTTP/2 попадает всегда и получает GOAWAY; как сигнал родителя у Apache доезжает до конкретного соединения через пять звеньев; и таблица из двенадцати клеток, в которой четыре реализации расходятся ровно в одной. Со стендом (один docker build, один docker run), полными выводами ps и тремя claims-*.tsv, где каждое утверждение о коде проверяется скриптом.

    habr.com/ru/articles/1067686/

    #nginx #traefik #apache_httpd #haproxy #reload #graceful_restart #keepalive #исходный_код #worker_process #обратный_прокси

  7. Ok, except the demo of Unforgiven II. That thing should not ~be~ seen the light of day. #Reload #Metallica

  8. Ok, except the demo of Unforgiven II. That thing should not ~be~ seen the light of day. #Reload #Metallica

  9. Ok, except the demo of Unforgiven II. That thing should not ~be~ seen the light of day. #Reload #Metallica

  10. Ok, except the demo of Unforgiven II. That thing should not ~be~ seen the light of day. #Reload #Metallica

  11. europesays.com/es/618031/ La obsesión de James Hetfield (Metallica) con el vudú cuando escribió esta canción de «Reload»: «Es como cuando alguien clava otra aguja en tu muñeco» #Entertainment #Entretenimiento #ES #España #Fixxxer #JamesHetfield #LaHeavy #LaHeavy482 #load #Metallica #MR2022 #Music #Música #Reload #Spain

  12. Guilty Gear X2 #Reload

    🏢 Arc System Works
    📅 2003
    🖥 Arcade, PS2, PSP, Windows, Xbox, Xbox 360

  13. Guilty Gear X2 #Reload

    🏢 Arc System Works
    📅 2003
    🖥 Arcade, PS2, PSP, Windows, Xbox, Xbox 360

  14. Guilty Gear X2 #Reload

    🏢 Arc System Works
    📅 2003
    🖥 Arcade, PS2, PSP, Windows, Xbox, Xbox 360

  15. Guilty Gear X2 #Reload

    🏢 Arc System Works
    📅 2003
    🖥 Arcade, PS2, PSP, Windows, Xbox, Xbox 360

  16. I had not #JasonNewsted unboxing #Reload remastered on the #Metallica channel 🤯 on my bingo card.

  17. I had not #JasonNewsted unboxing #Reload remastered on the #Metallica channel 🤯 on my bingo card.

  18. I had not #JasonNewsted unboxing #Reload remastered on the #Metallica channel 🤯 on my bingo card.

  19. I had not #JasonNewsted unboxing #Reload remastered on the #Metallica channel 🤯 on my bingo card.

  20. Metallica revisit 'Reload' with a massive remastered deluxe box set.
    Unreleased material, live recordings, and more arriving in June.
    Details: metalinsider.net/releases/meta
    #Metallica #Reload #HeavyMetal #Vinyl #MetalNews

  21. Metallica revisit 'Reload' with a massive remastered deluxe box set.
    Unreleased material, live recordings, and more arriving in June.
    Details: metalinsider.net/releases/meta
    #Metallica #Reload #HeavyMetal #Vinyl #MetalNews

  22. Growing up, the three R's were reading, 'riting, and 'rithmetic. Not any more.

    While #reading and #writing are incredibly useful, #arithmetic isn't quite as essential when I have a calculator in my pocket. #Mathematics, on the other hand, is necessary for lots of things, as #TomLehrer demonstrates: youtu.be/2VZbWJIndlQ?si=PiSJBw

    In this millennium, the three R's are #reload, #restart, and #reinstall. And, when you contact #support, they will walk you through them first.

  23. Growing up, the three R's were reading, 'riting, and 'rithmetic. Not any more.

    While #reading and #writing are incredibly useful, #arithmetic isn't quite as essential when I have a calculator in my pocket. #Mathematics, on the other hand, is necessary for lots of things, as #TomLehrer demonstrates: youtu.be/2VZbWJIndlQ?si=PiSJBw

    In this millennium, the three R's are #reload, #restart, and #reinstall. And, when you contact #support, they will walk you through them first.

  24. Growing up, the three R's were reading, 'riting, and 'rithmetic. Not any more.

    While #reading and #writing are incredibly useful, #arithmetic isn't quite as essential when I have a calculator in my pocket. #Mathematics, on the other hand, is necessary for lots of things, as #TomLehrer demonstrates: youtu.be/2VZbWJIndlQ?si=PiSJBw

    In this millennium, the three R's are #reload, #restart, and #reinstall. And, when you contact #support, they will walk you through them first.

  25. #combotober Day 19 | Combo That Uses the Same Move

    Guilty Gear X2 #RELOAD

    This combo right here is maybe the only reason I boot up reload and it's worth every penny

  26. #combotober Day 19 | Combo That Uses the Same Move

    Guilty Gear X2 #RELOAD

    This combo right here is maybe the only reason I boot up reload and it's worth every penny