sql >> Databasteknik >  >> RDS >> Mysql

PHP mysql_connect set wait_timeout

Det är inte bra att hänga på DB-anslutningar under långa perioder eftersom DB endast tillhandahåller ett fast antal anslutningar åt gången; om du använder en i flera åldrar betyder det att din DB har mindre kapacitet att hantera andra förfrågningar, även om du faktiskt inte gör något med den anslutningen.

Jag föreslår att du avbryter anslutningen om programmet är färdig med att använda den för tillfället, och återansluter när det är dags att göra mer DB-arbete.

Dessutom kommer denna lösning att skydda ditt program från eventuell databasstopp, dvs om du behöver starta om din DB-server (det händer även i det nätverk som stöds bäst). Om du håller anslutningen vid liv (dvs. en DB-ping enligt de andra svaren), kommer en sådan händelse att lämna dig med exakt samma problem som du har nu. Med en korrekt hanterad anslutning som avbryts när den inte behövs, kan du säkert lämna din demon igång även om du har planerat driftstopp på din DB; så länge den förblir inaktiv under hela tiden, behöver den inte vara klokare.

(Som ett undantag skulle jag också ifrågasätta klokheten i att skriva ett PHP-program som körs kontinuerligt; PHP är designat för kortvarig webb efterfrågad. Det kanske kan köra långtidsdemonprogram, men det finns bättre verktyg för jobbet)



  1. Exempelfråga för SQL Server Linked Server

  2. Stopwords och MySQL boolesk fulltext

  3. NodeJS Hur man hanterar samtidig förfrågan till MySQL

  4. Hur man konverterar en postgres-databas till sqlite