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

Nadměrná aktivita MySQL

V tomto článku budeme diskutovat o dopadu nadměrné aktivity MySQL a o tom, jak může být škodlivý pro celkové využití zdrojů vašeho účtu. MySQL je databázový back-end mnoha populárních webových aplikací a je to místo, kde tyto aplikace ukládají svá data, aby je později mohly načíst skripty na straně serveru, aby tyto informace přenesly na vaše stránky.

Pokud jste náhodou obdrželi upozornění od našeho oddělení správy systému ohledně nadměrné aktivity MySQL pocházející z vašeho účtu, pak to s největší pravděpodobností znamená, že úroveň aktivity, kterou zaznamenali, přesáhla možnosti hostitelské platformy, na které se váš účet aktuálně nachází.

Běžné příčiny nadměrné aktivity MySQL

Dlouhotrvající dotazy Typický SQL dotaz by měl být schopen dokončit během 1 sekundy až možná nanejvýš několika sekund. Dlouho běžící dotazy, které trvale překračují tyto doby dotazů, může vést ke zpožděním při poskytování dalších dotazů na serveru.
Vysoký počet dotazů za sekundu Dotazy SQL budou obvykle přicházet v malých vlnách přímo úměrně vašemu provozu, a pokud vaše skripty vyžadují velké množství dotazů SQL na načtení stránky, můžete mít potenciálně vysoký počet SQL dotazů za sekundu, což může vést k negativnímu dopadu na výkon dotazů serveru a začít vést k dlouhotrvajícím dotazům.
Velké dotazy nejsou optimalizovány Některé dotazy SQL budou svou povahou velmi složité, zejména ty, které spojují více tabulek dat před provedením operací s těmito daty. Zajištění toho, že vaše dotazy SQL jsou efektivní a stahují pouze data, která skutečně potřebují k zobrazení, může pomoci zabránit tomu, aby tyto neefektivní dotazy způsobovaly buď dlouhé dotazy, nebo vysoký počet dotazů za sekundu.
Trvalá připojení Většina SQL dotazů jednoduše otevře připojení k databázi, načte data a poté připojení k databázi uzavře. MySQL také podporuje trvalá připojení, kde je připojení udržováno i po načtení dat. To může být někdy problematické, zejména na sdíleném hostingu, kde byste mohli narazit na max _user_connections limit nastavený v MySQL.

Ve většině případů, pokud je vaše aktivita MySQL nadměrná, naše oddělení správy systému vás bude kontaktovat s obecným vysvětlením, odkud se zdá, že aktivita pochází.

Optimalizace využití MySQL

Dobrým prvním krokem při optimalizaci vaší databáze MySQL je použití phpMyAdmin k optimalizaci databáze.

Někdy může být vaše běžná aktivita v MySQL naprosto v pořádku, ale když roboti začnou procházet váš web, mohlo by to upozornit na neefektivitu vaší aplikace, takže také vědět, jak zastavit vyhledávače a roboty v procházení vašeho webu, by byla také dobrá informace.

Nakonec byste se také chtěli podívat na možnosti ukládání do mezipaměti SQL dostupné pro vaši aplikaci. Pokud například vaše titulní stránka vyžaduje 2 SQL dotazy k zobrazení všech informací na této stránce, a na tuto stránku přijde 100 lidí, bude to 200 dotazů a nebude to stahovat zpět žádná jedinečná data, pokaždé to samé.

Implementace ukládání do mezipaměti SQL může pomoci omezit tyto duplicitní databázové dotazy. Příklad tohoto typu ukládání do mezipaměti si můžete přečíst o optimalizaci WordPressu pomocí pluginu W3 Total Cache.


  1. SQL Server 2017:Kopírování dat SQL Server z Linuxu do Windows pomocí SSIS

  2. Funkce LOG() v Oracle

  3. Rozdělení řetězce do více řádků v Oracle

  4. Postgres COUNT počet hodnot sloupců s INNER JOIN