Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Trwałość połączenia PHP MySQL

Trwałość jest wykonywana przez kopię PHP, która jest osadzona na serwerze WWW. Normalnie miałbyś rację - gdyby PHP działało w trybie CGI, nie byłoby możliwe posiadanie trwałego połączenia, ponieważ nie byłoby nic do utrwalenia po wykonaniu żądania i zamknięciu PHP.

Jednakże, ponieważ w serwerze sieciowym jest osadzona kopia PHP, a sam serwer działa między żądaniami, możliwe jest utrzymanie puli trwałych połączeń w ramach tego "stałego" PHP.

Należy jednak zauważyć, że w modelach serwerów Apache typu multi-worker pule połączeń są utrzymywane NA DZIECKO. Jeśli ustawisz limit puli na 10, będziesz mieć 10 połączeń na dziecko Apache. 20 dzieci =200 połączeń.

Trwałe połączenia prowadzą również do długotrwałych problemów z zakleszczeniami i innymi trudnymi do debugowania problemami. Pamiętaj - nie ma gwarancji, że żądania HTTP użytkownika będą obsługiwane przez SAME połączenie apache child/mysql. Jeśli skrypt umrze w połowie transakcji w bazie danych, ta transakcja NIE wycofać, ponieważ MySQL nie widzi strony HTTP — widzi tylko, że połączenie mysql<->apache jest nadal otwarte i zakłada, że ​​wszystko jest w porządku.

Następny użytkownik, który trafi w tę konkretną kombinację apache/mysql dziecko/połączenie, magicznie znajdzie się w środku tej transakcji, bez żadnej wskazówki, że transakcja jest otwarta. Zasadniczo jest to internetowy odpowiednik niespłukanej toalety - wszystkie „śmieci” poprzedniego użytkownika wciąż tam są.

Dzięki nietrwałym połączeniom masz gwarancję „czystego” środowiska za każdym razem, gdy się łączysz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Policz z warunkiem IF w zapytaniu MySQL

  2. Czy są jakieś dobre implementacje CachedRowSet inne niż zastrzeżona Sun?

  3. wstaw wiele wierszy za pomocą jednej wartości forigenk w formularzu

  4. Błąd:Nieznana kolumna „” na „liście pól” Błąd MySQL

  5. Przykładowy skrypt php do paginacji