Du bør ikke pinge MySQL før en forespørgsel af tre grunde:
- Det er ikke en pålidelig måde at kontrollere, at serveren vil være oppe, når du forsøger at udføre din forespørgsel, den kan meget vel gå ned i tiden mellem ping-svaret og forespørgslen.
- Din forespørgsel kan mislykkes, selvom serveren er oppe.
- Efterhånden som mængden af trafik til dit websted skaleres op, vil du tilføje en masse ekstra overhead til databasen. Det er ikke ualmindeligt i virksomhedsapps, der har brugt denne metode til at se en enorm mængde af databasens ressourcer blive spildt på ping.
Den bedste måde at håndtere databaseforbindelser på er fejlhåndtering (try/catch), genforsøg og transaktioner.
Mere om dette på MySQL performance blog:Kontrol af en live databaseforbindelse anses for skadelig
I det blogindlæg kan du se, at 73 % af belastningen på den forekomst af MySQL var forårsaget af applikationer, der tjekkede, om DB var oppe.