sql >> Database teknologi >  >> RDS >> Mysql

mysqld-tjenesten stopper en gang om dagen på ec2-serveren

Brug 50 % af tilgængelig RAM til at teste:

Du kan reducere innodb_buffer_pool_size meget lavt for at se om det hjælper:

#/etc/my.cnf 
innodb_buffer_pool_size = 1M

En tommelfingerregel er at indstille innodb_buffer_pool_size til 50 % af tilgængelig RAM til din test med lav hukommelse. Det betyder, at du starter serveren og alt undtagen MySQL InnoDB. Se hvor meget RAM du har. Brug derefter 50 % af det til InnoDB.

Sådan prøver du mange indstillinger med lav hukommelse på én gang:

En mere sandsynlig synder er, hvad der ellers er på den server, såsom en webserver.

Apache?

Bruger du Apache og/eller en anden webserver? Hvis det er tilfældet, så prøv at reducere RAM-forbruget. For eksempel i Apache conf, overveje lave RAM-indstillinger som disse:

StartServers 1
MinSpareServers 1
MaxSpareServers 5
MaxClients 5

Og sæt begrænsningerne på anmodningerne som dette:

MaxRequestsPerChild 300

Genstart derefter Apache.

mod_wsgi:

Hvis du bruger Apache med mod_python, skal du skifte til Apache med mod_wsgi.

Pympler:

Hvis det stadig sker, vokser din Django muligvis støt. Prøv Django-hukommelsesprofilering med Pympler:

SAR:

Din rapport om fejl én gang om dagen, derefter én gang om ugen, kan pege på en slags cron-job, der kører dagligt eller ugentligt. For eksempel er der måske en batch-proces, der fylder meget RAM, eller en database-dump osv.

For at spore RAM-brug og se efter RAM-spidser i timen før MySQL dør, tag et kig på SAR, som er et fantastisk værktøj:http://www.thegeekstuff.com/2011/03/sar-examples/



  1. Oracle Date TO_CHAR('Month DD, YYYY') har ekstra mellemrum i sig

  2. Sådan fungerer MICROSECOND() i MariaDB

  3. Ven af ​​en ven i PHP/MySQL?

  4. Tabelværdi Parameterækvivalent i Postgresql