Profilo di performance del server Linux – come vedere cosa ha causato un carico elevato

Se un server sta riscontrando un carico elevato, utilizzo strumenti top e simili per risolvere il problema. Tuttavia, questo è efficace solo se posso analizzare mentre il server sta verificando il problema.

Quali sono alcuni ottimi strumenti per trovare la causa principale del carico server elevato nei tempi precedenti? Ad esempio stavo pensando di mettere in un lavoro cron per salvare l'output "top", le statistiche di server apache, l'elenco di processi mysql, ecc each 5 minuti. Ma questo non sembra molto elegante, chiedendosi se qualcuno abbia trovato qualche utilità per realizzarlo già.

  • Nagios (codice di return di 141 è fuori limite) su servizi casuali
  • Client Puppet non connessione al master - connessione SSL Errore
  • Esegui il software antivirus nei server DNS di linux. Ha senso?
  • Le migliori pratiche per evitare l'errore di Jenkins: sudo: nessun tty presente e nessun programma di askpass specificato
  • Avviso su stato burattino fallito
  • L'automazione OpenVPN easy-rsa build-key?
  • C'è uno strumento per la dimensione della cartella per linux? (web based o che lavora sulla console)
  • Documentazione dei dettagli del server
  • Quando le estensioni di file sovrascrivono linee shebang su Linux?
  • SAN avviando Oracle VM da una lama UCS
  • posizionamento del server di posta postfix per 8000 utenti che utilizzano la directory triggers
  • La conoscenza di Linux una Junior non può mancare
  • 5 Solutions collect form web for “Profilo di performance del server Linux – come vedere cosa ha causato un carico elevato”

    Per un monitoraggio continuo è ansible considerare l'installazione di munin . Raccoglierà informazioni each 5 minuti e genera grafici che vi permetteranno di vedere where stanno le strozzature. Io uso anche sar che può essere eseguito in modalità background raccogliendo i dati su disco. Questo fornisce informazioni dettagliate su ciò che è il collo di bottiglia. A quali processi in cui eseguire in passato avrai bisogno del pacchetto di process accounting.

    La soluzione non elegante è effettivamente una buona senza configurare console di monitoraggio distinte (pensare alle trappole SNMP). Se stai eseguendo un sistema di stile RHEL / CentOS assicurati di aver installato 'sysstat' (e acceso) per raccogliere statistiche in corso su CPU, memory, disco I / O e simili. (vedere i file di configuration /etc/sysconfig/sysstat.* per sintonizzarsi).

    Una volta che hai raccolto le statistiche sottostanti per voi, può essere usato per individuare quando si verifica la tendenza del carico (quindi, oltre a vedere la CPU elevata, è la tua proc proca supportta? Vedete difetti importnti nella paginazione, come è il tuo utilizzo di swap)? potete quindi correlare alle liste di tipo 'mysqladmin proc stat' e così via. Se si tratta di uno stack LAMP, afferrare i processi totali httpd e quindi fare una sum / divisione veloce per scoprire la dimensione media del process da registrare. Abilita il tuo log di query lento in MySQL per poi intrappolare quei cattivi ragazzi e cercare alcune tabelle che necessitano di indici.

    Talvolta lo-tech non è una ctriggers tecnologia. 🙂 Perché usare una sega a catena quando un coltello farà.

    Mi piace collezione ma ho recentemente iniziato a giocare con pcp (co-pilota di performance). Ha alcune belle caratteristiche per la diagnosi storica. [1]: http://oss.sgi.com/projects/pcp/

    Potrebbe anche voler guardare a collectd, come alternativa munin.

    in cima .

    Complementa top / htop, perché può raccogliere statistiche nel tempo.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.