La chiusura brusca di un server di database è un arresto anomalo molto grave. È necessario evitare ciò in un sistema di produzione, perché potrebbe non riavviarsi in modo pulito.
Il server di database è una risorsa condivisa e non dovrebbe quasi mai terminare in modo non pianificato nella produzione. L'unica cosa che dovrebbe causare la terminazione non pianificata è un hardware catastrofico o mancanza di alimentazione. I server di database di produzione configurati correttamente hanno una terminazione non pianificata una volta ogni dieci anni o meno frequentemente. Sul serio.
Cosa fare?
Corregge la configurazione di Apache. Limita il numero di thread di lavoro e processi che può utilizzare, quindi non può essere eseguito in modo selvaggio. Impara come fare questo. È vitale Vedi qui: http://httpd.apache.org/docs/current/mod/mpm_common.html#maxrequestworkers
Correggere i difetti nell'app Web che causano l'esecuzione di apache.
Se è possibile, spostare il server mysqld su un server diverso da Apache, in modo che i due non contendano le stesse risorse hardware.
Configura il tuo mysqld per limitare il numero di connessioni che accetterà da thread worker di apache o altri client. La tua app web probabilmente gestisce la situazione in cui un thread di lavoro deve attendere una connessione. Vedere qui. http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_connections
Sei su una microistanza EC2? Devi fare un po 'di messa a punto seria. Vedi qui: http://ubuntuforums.org/showthread.php?t=1979049
fonte
2013-06-22 14:35:43
Grazie Ollie! Sì, hai ragione, sto provando a spremere un'istanza micro EC2. Quindi terrò a punto apache e mysql e inizierò a guardare in scala e ridimensionare. Ma c'è un modo per rilevare che mysql è andato giù e riavvialo automaticamente? Nel caso in cui se succede quando non sto monitorando il server e mentre non l'ho ottimizzato di più. – Alex