Nie powinieneś pingować MySQL przed zapytaniem z trzech powodów:
- Nie jest to niezawodny sposób sprawdzania, czy serwer będzie działał, gdy spróbujesz wykonać zapytanie, może on bardzo dobrze skrócić czas między odpowiedzią na polecenie ping a zapytaniem.
- Twoje zapytanie może zakończyć się niepowodzeniem, nawet jeśli serwer działa.
- W miarę wzrostu natężenia ruchu w Twojej witrynie, będziesz dodawać dużo dodatkowych kosztów do bazy danych. Nie jest rzadkością w aplikacjach korporacyjnych, które używają tej metody, aby zobaczyć, jak ogromna ilość zasobów bazy danych marnuje się na pingi.
Najlepszym sposobem radzenia sobie z połączeniami z bazą danych jest obsługa błędów (try/catch), ponawianie prób i transakcje.
Więcej informacji na ten temat znajdziesz na blogu dotyczącym wydajności MySQL:Sprawdzanie aktywnego połączenia z bazą danych uważane za szkodliwe
W tym poście na blogu zobaczysz, że 73% obciążenia tej instancji MySQL było spowodowane przez aplikacje sprawdzające, czy baza danych była aktywna.