sql >> Databasteknik >  >> RDS >> Mysql

mysqld-tjänsten stannar en gång om dagen på ec2-servern

Använd 50 % av tillgängligt RAM-minne för att testa:

Du kan minska innodb_buffer_pool_size väldigt lågt för att se om det hjälper:

#/etc/my.cnf 
innodb_buffer_pool_size = 1M

En tumregel är att sätta innodb_buffer_pool_size till 50 % av tillgängligt RAM-minne för ditt test med lågt minne. Det betyder att du startar servern och allt utom MySQL InnoDB. Se hur mycket RAM-minne du har. Använd sedan 50 % av det för InnoDB.

För att prova många inställningar för lågt minne samtidigt:

En mer trolig bov är allt annat som finns på den servern, till exempel en webbserver.

Apache?

Använder du Apache och/eller annan webbserver? Om så är fallet, försök att minska RAM-användningen. Till exempel i Apache conf, överväg låga RAM-inställningar som dessa:

StartServers 1
MinSpareServers 1
MaxSpareServers 5
MaxClients 5

Och begränsa förfrågningarna så här:

MaxRequestsPerChild 300

Starta sedan om Apache.

mod_wsgi:

Om du använder Apache med mod_python, byt till Apache med mod_wsgi.

Pympler:

Om det fortfarande händer, kanske din Django växer stadigt. Testa Django-minnesprofilering med Pympler:

SAR:

Din rapport om misslyckanden en gång per dag, sedan misslyckanden en gång i veckan, kan peka på något slags cron-jobb som körs dagligen eller varje vecka. Till exempel kanske det finns en batchprocess som tar upp mycket RAM-minne, eller en databasdump, etc.

För att spåra RAM-användning och leta efter RAM-toppar i timmen innan MySQL dör, ta en titt på SAR, som är ett utmärkt verktyg:http://www.thegeekstuff.com/2011/03/sar-examples/



  1. Fråga punkter inom en given radie i MySQL

  2. PHP, ORM, MSSQL och Unicode, är det möjligt att få dessa att fungera tillsammans?

  3. sista fredagen i månaden i MySQL

  4. Hur kan jag extrahera filer från ett Oracle BLOB-fält?