Вплив витончених перезавантажень Apache та досвіду користувача


10

Чи безпечно виконати gracefulперезапуск Apache на виробничому сервері? Які наслідки спричинить витончений перезапуск та який був би вплив (якщо такий є)? Чи будуть якісь згубні наслідки (наприклад, час простою, навіть якщо це короткий час)?

Я розглянув такі ресурси, але все ще незрозуміло, які будуть наслідки для користувачів:

Відповіді:


9

Під час витонченого перезавантаження існуючі з'єднання повинні працювати до нормального завершення, після чого їхні робітники припинятимуться. Нові працівники повинні вже почати працювати з новими зв'язками.

Ви не повинні помічати жодних збоїв у з’єднанні або повільного завантаження сторінки, але на практиці ви можете коротко побачити нову чергу з'єднань, коли конфігурація перезавантажується головним потоком (у мене займає менше півсекунди)

Якщо ви перезапускаєте, щоб забрати нову конфігурацію, то існує ризик виникнення помилки конфігурації, яка може перешкодити належному перезапуску сервера.

Якщо сервер перебуває у ненормальному стані, він може не вдатися до перезапуску граціозно (можливо, саме тому ви розглядаєте витончений перезапуск)


1

Якщо Apache обслуговує статичні файли, а не виступає передньою стороною на щось на зразок , це досить гладко. Більшість користувачів навіть не помічають, а ті, хто це робить, вважатимуть це нормальною глюччістю. Apache не подаватиме нові запити, поки не будуть подані старі, тому ви будете чекати, поки всі вони закінчать. Якщо хтось завантажує файл потужністю 500 Мб зі швидкістю 68 КБ / с, можливо, ви будете чекати ДОВГО ЧАСУ, під час якого не відбувається жодне інше обслуговування.

Якщо Apache підтримує сервер додатків, ситуація може бути дуже різною. З досвіду, UX для взаємодії з цим сервером буде дуже поганим, поки сервер додатків не буде завантажений, не завантажений і кеші не будуть прогріті.


5
Крім того, ДУЖЕ важливо зробити /etc/init.d/httpd configtestперед тим, як продовжувати перезапуск будь-якого типу apache на виробничому сервері.
Citylight

Дійсно - досить важливо запустити конфігурацію. IIRC, я думаю, що з пізнішими версіями Apache можливо виконати неявну конфігурацію перед витонченим перезапуском, і якщо вона не вдасться конфігурації, вона не буде продовжуватися з перезапуском.
stellarchariot

5
"Apache не подаватиме нові запити, поки не будуть подані старі, тож ви будете чекати, поки всі вони закінчать. Якщо хтось завантажить файл 500MB зі швидкістю 68 КБ / с, можливо, ви будете чекати ДОВГО ЧАСУ, протягом якого ніхто інший подача відбувається ». Це не точно. Конфігурація перезавантажується негайно, і створюються нові дочірні процеси, приймаються з'єднання та запити процесів, коли попереднє покоління закінчує свої останні запити.
ковенер

0

Вищезгаданий витончений параметр сповіщає httpd розпочати процес перезавантаження, спочатку сигналізуючи всі його дочірні процеси, щоб виконати свої поточні завдання. Після завершення всіх дочірніх процесів (тих, що надсилають http-запити) вони закриються; якщо будь-які дочірні процеси зараз не подають запити, вони негайно закриються.

Беручи до уваги, негайно припиніть спроби припинити всі дочірні процеси, які можуть залишити кінцевих користувачів висячими. Мої уподобання витончені - кращий вибір для вашого сервера бізнес-класу - адже це дружніше, ніж різко припиняти дочірні процеси, які обслуговують клієнтів. Багато адміністраторів і особливо програмісти використовують стоп для зупинки свого сервера, часто тому, що вони не знають, що витончене існує навіть.

Посилання: https://www.godaddy.com/garage/tech/config/how-to-restart-apache-without-rebooting-your-centos-linux-server/ Посилання

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.