L'impatto dei graziosi riavvii di Apache e dell'esperienza utente


10

È sicuro eseguire un gracefulriavvio di Apache su un server di produzione? Quali saranno gli effetti di un riavvio gradevole e quale sarebbe l'impatto (se presente)? Ci saranno impatti dannosi (ad es. Tempi di inattività, anche se per un breve periodo)?

Ho considerato le seguenti risorse, ma non è ancora chiaro quali saranno gli impatti sugli utenti:

Risposte:


9

Quando si esegue un riavvio grazioso, le connessioni esistenti dovrebbero essere eseguite fino al completamento normale, a quel punto i loro dipendenti verranno chiusi. Nuovi lavoratori dovrebbero già essere avviati per gestire nuove connessioni.

Non dovresti notare alcun errore di connessione o caricamento lento della pagina ma in pratica potresti vedere brevemente le nuove connessioni in coda mentre la configurazione viene ricaricata dal thread principale (il mio impiega meno di mezzo secondo)

Se si riavvia per prelevare una nuova configurazione, esiste il rischio che si verifichi un errore di configurazione che potrebbe impedire il riavvio corretto del server.

Se il server si trova in uno stato anomalo, potrebbe non riuscire a riavviarsi correttamente (forse è per questo che stai considerando un riavvio gradevole)


1

Se Apache sta servendo file statici e non sta fungendo da fronte a qualcosa come , è piuttosto fluido. La maggior parte degli utenti non se ne accorgerà e quelli che lo considerano normale glitch. Apache non servirà nuove richieste fino a quando non saranno servite quelle precedenti, quindi aspetterete che finiscano tutte. Se qualcuno sta scaricando un file da 500 MB a 68 KB / s, è possibile che si attenda LUNGO TEMPO, durante il quale non si verificano altri servizi.

Se Apache sta affrontando un server delle applicazioni, la situazione può essere molto diversa. Per esperienza, la UX per l'interazione con quel server sarà pessima fino a quando il server delle applicazioni non viene caricato, caricato e le cache vengono riscaldate.


5
Inoltre, è MOLTO importante eseguire una /etc/init.d/httpd configtestprocedura prima di procedere con qualsiasi tipo di riavvio di apache su un server di produzione.
Citylight,

In effetti, è abbastanza importante eseguire un programma di configurazione. IIRC, penso che con le versioni successive di Apache potrebbe eseguire una configurazione implicita prima di un riavvio corretto e, se fallisce la configurazione, non continuerà con il riavvio.
stellarchariot,

5
"Apache non risponderà a nuove richieste fino a quando non saranno soddisfatte quelle precedenti, quindi aspetterai che finiscano tutte. Se qualcuno sta scaricando un file da 500 MB a 68 KB / s, potresti aspettare un LUNGO TEMPO, durante il quale nessun altro sta servendo ". Questo non è accurato La configurazione viene ricaricata immediatamente e vengono creati nuovi processi figlio, accetta connessioni ed elabora richieste mentre la generazione precedente sta completando le ultime richieste.
covener

0

Il parametro grazioso sopra menzionato indica a httpd di iniziare il processo di riavvio segnalando innanzitutto tutti i suoi processi figlio per completare le loro attività correnti. Dopo che tutti i processi figlio (quelli che stanno servendo le richieste http) hanno terminato le loro attività, si chiuderanno; se alcuni processi figlio non stanno attualmente soddisfando le richieste, si chiuderanno immediatamente.

Considerando che, interrompere i tentativi di terminare immediatamente tutti i processi figlio, il che potrebbe lasciare in sospeso gli utenti finali. La mia preferenza è aggraziata - una scelta migliore per il tuo server di classe aziendale - perché è più amichevole della brusca interruzione dei processi figlio che servono i clienti. Molti amministratori e in particolare i programmatori usano stop per arrestare il proprio server, spesso perché non sanno che esiste anche un aggraziato.

Link: https://www.godaddy.com/garage/tech/config/how-to-restart-apache-without-rebooting-your-centos-linux-server/ Link

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.