Mysql
 sql >> база данни >  >> RDS >> Mysql

Постоянство на PHP MySQL връзката

Постоянството се извършва от копието на PHP, което е вградено в уеб сървъра. Обикновено сте прави – ако PHP работеше в CGI режим, би било невъзможно да имате постоянна връзка, защото няма да има нищо, което да продължи, когато заявката бъде изпълнена и PHP се изключи.

Въпреки това, тъй като има копие на PHP, вградено в уеб сървъра, а самият уеб сървър продължава да работи между заявките, е възможно да се поддържа пул от постоянни връзки в рамките на този „постоянен“ PHP.

Обърнете внимание обаче, че при модели сървъри от тип Apache с множество работни места, пуловете за връзки се поддържат НА ДЕТЕ. Ако зададете лимит на вашия пул на 10, ще имате 10 връзки на дете на Apache. 20 деца =200 връзки.

Постоянните връзки също ще доведат до дългосрочни проблеми със застой и други трудни за отстраняване проблеми. Запомнете - няма гаранция, че HTTP заявките на потребителя ще бъдат обслужвани от СЪЩАТА Apache child/mysql връзка. Ако скрипт умре частично чрез транзакция на база данни, тази транзакция НЕ бъде върнато назад, защото MySQL не вижда HTTP страната на нещата - всичко, което вижда, е, че връзката mysql<->apache все още е отворена и предполага, че всичко е наред.

Следващият потребител, който удари тази конкретна комбинация от apache/mysql дете/връзка, сега магически ще се окаже в средата на тази транзакция, без никаква представа, че транзакцията е отворена. По принцип това е уеб еквивалент на тоалетна без вода – целият „боклук“ от предишния потребител все още е там.

С непостоянни връзки гарантирано ще имате „чиста“ среда всеки път, когато се свързвате.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Struts + Hibernate:@SessionTarget не работи

  2. MySQL Unicode литерали

  3. mysql грешка:ГРЕШКА 1018 (HY000):Не мога да прочета директорията на '.' (грешка:13)

  4. Намаляване на потреблението на памет на mysql на [имейл защитен] микро екземпляр

  5. Грешка при хибернация при изпълнение на DDL чрез JDBC изявление