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

PHP mysql_connect nastavil wait_timeout

Není dobré setrvávat na připojení k DB po dlouhou dobu, protože DB poskytuje pouze pevný počet připojení v jednom okamžiku; pokud jej používáte věky, znamená to, že vaše DB má menší kapacitu pro řešení dalších požadavků, i když s tímto připojením ve skutečnosti nic neděláte.

Doporučuji zrušit připojení, pokud jej program prozatím používá, a znovu se připojit, až přijde čas na další práci s DB.

Toto řešení navíc ochrání váš program před možným výpadkem databáze, tj. pokud potřebujete restartovat váš DB server (stává se to i v nejlépe podporované síti). Pokud udržíte připojení naživu (tj. DB ping podle ostatních odpovědí), pak vám podobná událost zanechá přesně stejný problém, jaký máte nyní. Se správně spravovaným připojením, které je zrušeno, když není potřeba, můžete bezpečně nechat svého démona spuštěného, ​​i když jste naplánovali výpadek ve vaší DB; dokud zůstane nečinný po dobu, nemusí být o nic moudřejší.

(Kromě toho bych také pochyboval o moudrosti napsat program PHP, který běží nepřetržitě; PHP je navrženo pro krátkodobou webovou žádost. Může být schopné spouštět dlouhodobé programy démonů, ale existují lepší nástroje pro tuto práci)



  1. SQL DROP TABLE pro začátečníky

  2. Jak uniknout jednoduchým uvozovkám v MySQL

  3. Jaký je účel $CONDITIONS pod --query?

  4. ActiveRecord::ConnectionTimeoutError:nepodařilo se získat připojení k databázi během 5 000 sekund (čekalo se 5 000 sekund)