sql >> Databáze >  >> RDS >> Mysql

Perzistence připojení PHP MySQL

Perzistence se provádí kopií PHP, která je vložená do webového serveru. Obvykle byste měli pravdu – pokud by PHP běželo v režimu CGI, nebylo by možné mít trvalé připojení, protože by nezůstalo nic, co by přetrvávalo, až bude požadavek hotový a PHP se vypne.

Protože je však ve webovém serveru zabudována kopie PHP a samotný webový server běží mezi požadavky, je možné udržovat fond trvalých připojení v rámci tohoto "trvalého" PHP.

Pamatujte však, že na modelech serverů typu Apache s více pracovníky jsou fondy připojení udržovány PER-CHILD. Pokud nastavíte limit fondu na 10, budete mít 10 připojení na dítě Apache. 20 dětí =200 spojení.

Trvalá připojení také povedou k dlouhodobým problémům se zablokováním a dalším těžko laditelným problémům. Pamatujte - neexistuje žádná záruka, že požadavky HTTP uživatele budou obsluhovány STEJNÝM připojením apache child/mysql. Pokud skript během databázové transakce zanikne, tato transakce NEBUDE být vráceno zpět, protože MySQL nevidí HTTP stránku věcí - vidí pouze to, že mysql<->apache připojení je stále otevřené a předpokládá, že je vše v pořádku.

Další uživatel, který zasáhne konkrétní kombinaci apache/mysql dítě/připojení, nyní magicky skončí uprostřed této transakce, aniž by tušil, že je transakce otevřená. V podstatě je to webový ekvivalent nespláchnutého záchodu – všechny „odpadky“ od předchozího uživatele tam stále jsou.

Díky netrvalým připojením máte zaručeno, že budete mít „čisté“ prostředí pokaždé, když se připojíte.



  1. Laravel Crypt - Porovnání hodnot

  2. Vytvořte proměnnou tabulky v MySQL

  3. SSH tunel pro připojení Python MySQLdb

  4. Určení data Velikonoc pro jakýkoli rok v Oracle PLSQL