Omezení počtu dotazů na server

21. 10 2020 | 08.40

Na poradně Poradte.cz mám skript, který přihlášeným každé dvě minuty ověřuje, zda nemají novou poštu nebo čekající odpověď, která je zajímá. Každé okno s poradnou tohle ověřuje a případně mění grafiku a název stránky, aby si toho uživatelé mohli všimnout. Funguje to dobře už velice dlouho.

Jen je trošku škoda, když uživatel má otevřených 10 oken a ověřování běží zbytečně pro 10 oken. Taky je škoda, když uživatel není u počítače, ale stránka se pořád dotazuje, zda není něco nového. To je taky zbytečné.

Udělal jsem jednoduchou změnu. Každý další dotaz se zpožďuje o 10 vteřin. První dotaz je za 2 minuty, druhý za 2 minuty a 10 vteřin a tak dále. Pokud uživatel není u PC dlouho tak i dotazy se provádí po x minutách a zbytečně nezatěžují server.

Sice je to kapka v moři resp 4% stránek na serveru (a je to velice malinká stránka s dvěma SQL dotazy, takže zátěž nula prd), ale každá kapka se počítá. Zvlášť pokud to uživatele ani neomezuje. :)

odlehceni DB
tady je vidět, jak dotazování nabírá zpoždění. Původně dvě minuty, po pár dotazech už skoro čtyři atd