Come sapere quale processo Apache è appeso e su cosa Script?

July 19

Come sapere quale processo Apache è appeso e su cosa Script?


Come server web andare, Apache è l'attuale campione in carica grazie alla sua flessibilità, caratteristiche e funzionalità. Anche se Apache è il server httpd più comunemente usato, non è senza la sua quota di bug. Secondo Prefetch Technologies, questi bug vengono visualizzati come nuove funzioni si aggiungono a Apache per assicurarsi che può soddisfare le esigenze di Internet in continua espansione e la modifica. Dal momento che Apache non è perfetto, ma è importante avere un arsenale di strumenti a vostra disposizione per aiutarvi a risolvere i problemi che possono sorgere, come i processi di impiccagione.

istruzione

1 Modificare il numero di processi e thread nella stanza configurazione di Apache server MPM, o utilizzare l'opzione "-X" di Apache per avviare Apache in modalità singolo processo. In questo modo può accelerare la risoluzione dei problemi.

2 Verificare la presenza di problemi di file di configurazione utilizzando il httpd "-t" opzione per controllare il file di configurazione di Apache per errori di sintassi. Se si verifica un errore nel file, il controllo della configurazione dovrebbe identificare la riga contenente l'errore.

3 Cercare problemi di esecuzione dello script utilizzando il comando mod_cgi ScriptLog. Quando ScriptLog è attivo, mod_cgi registra il codice del server di risposta, la richiesta che è stato ricevuto, e la risposta che è stata inviata al client da ogni script CGI in esecuzione che non è riuscito a eseguire correttamente.

4 Visualizzare il log del server per scoprire che cosa l'ultimo script accesso era come questo è lo script che probabilmente ha fatto il server sembra bloccarsi.

5 Eseguire un backtrace dello stack per determinare perché il server appeso. È possibile farlo utilizzando pstack, un programma che consente di stampare un backtrace dello stack o utilizzando gdb e gcore utilità del vostro server.

Consigli e avvertenze

  • Il backtrace dello stack conterrà un elenco di passaggi che il server ha preso per arrivare alla funzione che è attualmente in esecuzione. Prendere nota del nome della funzione attualmente in esecuzione perché probabilmente ha innescato l'incidente di percorso server. È possibile utilizzare il nome della funzione per la ricerca nel database del server Apache bug, e come punto di partenza quando si analizzano il codice sorgente del server per le questioni.
  • Avrete bisogno di guardare ogni stack frame nel backtrace dello stack che ha portato il frame corrente per scoprire il motivo del server appeso. Questo processo può richiedere molto tempo, e non può essere utile se il sito non può avere alcuna interruzione.