At få ledelsens opmærksomhed er en god ting, hvis det sker af positive årsager. Men mange databaseadministratorer ville faktisk foretrække at holde sig væk fra radaren. Fordi DBA'er er ansvarlige for at sikre, at organisationens databaser kører glat, når tingene går rigtigt, kommer DBA'er generelt til at hænge tilbage og gøre deres ting i fred. Men når noget går galt, er du pludselig det øverste navn på virksomhedens Most Wanted-liste.
DBA'er har et stort ansvar i en organisation, og der er mange måder, tingene kan gå sydpå, men ved at følge nogle få MySQL-databaseovervågnings-best practices, kan du være sikker på, at du bliver anerkendt af ledelsen for dit knivskarpe vid snarere end databasen udfald, der tog tre dage at løse.
Udfør regelmæssige sundhedstjek af din database
For en MySQL DBA er planlægning af regelmæssige helbredstjek for dine databaser næsten lige så vigtigt som at planlægge dem for dig selv (Bemærk:Overvej dette som din påmindelse om at lave en aftale for det fysiske, du har udskudt!).
Ligesom mennesker har ikke alle databaser de samme vedligeholdelsesbehov, så sundhedstjek bør skræddersyes til databasens specifikke funktionskrav. For eksempel har mission- eller livskritiske databaser brug for hyppigere kontroller end ikke-kritiske databaser. Fejlen af et missilforsvarssystem har langt hårdere konsekvenser end fejlen i en lokal boghandels hyppige kundebelønningsprogram.
Når du opsætter dine rutinemæssige helbredstjek, er der et par områder at fokusere på, som vil give information, der vil hjælpe dig med at bestemme igangværende MySQL-problemer, der skal løses.
MySQL-tilgængelighed
Tilgængelighed er nok den vigtigste metrik at holde styr på. Hvis databasen ikke er tilgængelig, er der ikke meget mening i at spore resten af disse metrics, indtil det er rettet. Kør -mysqladmin -h 192.168.1.95 -u root -p status for at kontrollere tilgængelighed, og start derefter diagnosticering, hvis der er et problem.
Mislykkede forbindelser
Sporing af antallet af mislykkede forbindelser over tid kan opdage ondsindet aktivitet såvel som mindre skumle fejl i applikationen, såsom forkert anvendte tilladelser og forkerte adgangskoder.
Kør kommandoen SHOW GLOBAL STATUS LIKE 'aborted_connects'; for at bestemme, hvor mange afbrudte forbindelsesforsøg, der har været på databasen i en given tidsperiode.
Fejllogs
Overvågning af fejllogfiler er en fantastisk måde at se, hvilke fejl der er opstået, og om der er mønstre, der kan indikere et større tilbagevendende problem, der skal løses.
Deadlocks i InnoDB
MySQL-deadlocks opstår, når forskellige transaktioner holder en lås på en ressource, som den anden transaktion har brug for. Deadlocks resulterer i langsom behandling og timeouts – og irriterede brugere. Brug VIS MOTOR INNODB STATUS; at lokalisere dødvande og løse dem.
Konfigurationsændringer
Et pludseligt fald i ydeevne kan være forårsaget af et dusin forskellige ting. Du kan dog spare dig selv for noget tid til fejlfinding ved at gennemgå de seneste konfigurationsændringer og justere dem, der påvirker ydeevnen negativt.
Log for langsomme forespørgsler
Langsomme forespørgsler får databasen til at køre langsommere, fordi de bruger for meget CPU og hukommelse. Gennemgå Slow Queries-loggen regelmæssigt for at afgøre, om nogen forespørgsler viser overdreven kørselstid, og foretag derefter fejlfinding for at finde og rette årsagen.
Oprethold synlighed for at forstå hovedårsagen til problemer med MySQL-ydelse
Udførelse af regelmæssige helbredstjek på MySQL-databaser er afgørende for at opretholde høj tilgængelighed og minimere kroniske præstationsproblemer, men der er nogle begrænsninger for, hvor nyttige sundhedstjek er til overordnet systemfejlfinding.
Fordi periodiske præstationsproblemer muligvis ikke dukker op under rutinemæssige sundhedstjek, er det vigtigt at etablere kontinuerlig synlighed i dit MySQL-miljø. Hurtig identifikation og løsning af ydeevneproblemer betyder mindre nedetid og færre ydeevneproblemer, der påvirker brugerne negativt.
En af de bedste måder, hvorpå du kan bevare synlighed i MySQL-databasesystemer, er at indstille alarmer for kritiske hændelser, så du kan reagere hurtigt, når en tærskelværdi overskrides, og finde frem til årsagen til problemet.
Som minimum bør du indstille alarmtærskler for følgende almindelige kilder til ydeevneforringelse:
- Væsentlige afvigelser fra baseline MySql-ydeevnemålinger
- Højt CPU-forbrug
- Forespørgselsforsinkelse
- Forespørgselsfejl
- Forbindelsesgrænser
- Brug af bufferpuljen
Identificer og løs ydeevneproblemer hurtigt
Du kan muligvis slippe af sted med at spore ydeevne ved hjælp af interne scripts i et lille, statisk miljø, men scripts vil ikke erstatte den proaktive overvågning, der kræves for at holde trit med store, dynamiske systemer, der konstant vokser.
I næsten alle situationer vil et kommercielt databaseovervågningsværktøj være det bedste bud på at identificere og løse problemer hurtigt, før de forårsager større problemer.
Der er mange værktøjer til overvågning af ydeevne på markedet, der tilbyder en bred vifte af funktioner til en masse forskellige prisklasser. At vælge det rigtige værktøj til din organisation kommer til at koge ned til, hvilket værktøj der bedst opfylder dine specifikke behov til en pris, der passer til dit budget.
Selvom der ikke findes et værktøj, der passer til alle derude, er der nogle vigtige databaseovervågningsfunktioner, du vil kigge efter, uanset hvilket værktøj til ydeevneovervågning, du overvejer:
- Skalerbarhed
- Mobilovervågning
- Intuitiv brugergrænseflade
- Budgetvenlig, men rig på funktioner
- Ingen forbindelsesloft
- Multidimensional arbejdsbelastningsanalyse
- Alarmgrundårsagsanalyse
- Blokeringsanalyse
- Smart alarmer
- Historisk datasporing