sql >> Database teknologi >  >> RDS >> Mysql

MySQL højt CPU-forbrug

Først vil jeg sige, at du sandsynligvis vil deaktivere vedvarende forbindelser, da de næsten altid gør mere skade end gavn.

For det andet vil jeg sige, at du vil dobbelttjekke dine MySQL-brugere, bare for at sikre, at det ikke er muligt for nogen at oprette forbindelse fra en fjernserver. Dette er også en vigtig sikkerhedsting at tjekke.

For det tredje vil jeg sige, at du vil aktivere MySQL Slow Query Log for at holde øje med forespørgsler, der tager lang tid, og brug det til at sikre, at du ikke har nogen forespørgsler, der låser nøgletabeller for længe.

Nogle andre ting, du kan kontrollere, ville være at køre følgende forespørgsel, mens CPU-belastningen er høj:

SHOW PROCESSLIST;

Dette vil vise dig alle forespørgsler, der kører i øjeblikket eller i køen for at køre, hvad forespørgslen er, og hvad den laver (denne kommando vil afkorte forespørgslen, hvis den er for lang, du kan bruge VIS FULD PROCESLISTE for at se den fulde forespørgselstekst) .

Du vil også gerne holde øje med ting som dine bufferstørrelser, tabelcache , forespørgselscache og innodb_buffer_pool_size (hvis du bruger innodb-tabeller), da alle disse hukommelsestildelinger kan have en indflydelse på forespørgselsydeevne, hvilket kan få MySQL til at æde CPU'en op.

Du vil sikkert også gerne læse følgende, da de indeholder nogle gode oplysninger.

Det er også en rigtig god idé at bruge en profiler. Noget du kan slå til, når du vil, som vil vise dig, hvilke forespørgsler din applikation kører, om der er duplikerede forespørgsler, hvor lang tid de tager osv. osv. Et eksempel på noget som dette er et, som jeg har arbejdet på kaldet PHP Profiler men der er mange derude. Hvis du bruger et stykke software som Drupal, Joomla eller Wordpress, vil du gerne spørge rundt i fællesskabet, da der sandsynligvis er moduler til dem, som giver dig mulighed for at få disse oplysninger uden at skulle integrere noget manuelt.



  1. Buffer cache:Hvad er det, og hvordan påvirker det databasens ydeevne?

  2. Ingen sådan kolonne sqlite undtagelse

  3. Indrullering af SQL Server i en distribueret XA-transaktion

  4. PolyScale.ai – Skalering af MySQL &PostgreSQL med Global Caching