Artikel top billede

Foto: Mark Lee.

Her er de MySQL-værktøjer, du har brug for

MySQL-community'et producerer en lang række uundværlige open source-værktøjer, som du frit kan bruge til at forbedre dine MySQL-systemers ydelse og sundhed. Her har vi samlet de bedste.

Læs også:
Disse værktøjer til MySQL kan du ikke undvære[b] (
del 1)

[/b]Jeg har samlet 10 open source-værktøjer, som vil være værdifulde ressourcer for enhver, der anvender MySQL. Her kommer anden del af serien.

Du kan læse mere om baggrunden for listen her, hvor du også kan se de første værktøjer. 

Uundværligt MySQL-værktøj nr. 3: xtrabackup og xtrabackup-manager 
Hvis dine databaser bruges hver dag, døgnet rundt, så du ikke har mulighed for natlig nedetid, hvor tabellerne kan låses, så du kan foretage backup, så er løsningen xtrabackup.

Dette værktøj kendes også som Percona XtraBackup og er det eneste gratis, open source-værktøj, der udfører ikke-blokerende backup. Til sammenligning kan kommerciel ikke-blokerende backup-software koste over 26.000 kroner per server. 

Xtrabackup tilbyder også inkrementel backup, hvilket gør det muligt for dig kun at lave backup af de data, der er ændret siden sidste komplette backup. Det kan være til stor fordel at føje inkrementel backup til din backup-proces, da disse vældig meget mindre backup-opgaver tager langt færre systemressourcer at udføre. 

Derudover er der opstået et andet projekt ud af arbejdet med xtrabackup, som gør det endnu lettere at håndtere en komplet backup-plan, navnlig xtrabackup-manager.

Selvom dette værktøj er nyt og stadig under udvikling, har det stort potentiale, fordi det tilbyder avancerede funktioner såsom roterende backup med grupper og udløbstidspunkter for backup-sæt. Sammen udgør xtrabackup og xtrabackup-manager en formidabel og gratis backup-løsning. 

Download: http://www.percona.com/software/percona-xtrabackup/downloads/ 
Vedligeholdes af: Percona 
Mere information: http://www.percona.com/docs/wiki/percona-xtrabackup:start | https://launchpad.net/percona-xtrabackup 

Download: http://code.google.com/p/xtrabackup-manager/ 
Vedligeholdes af: Lachlan Mulcahy 
Mere information: http://code.google.com/p/xtrabackup-manager/ | http://mysqlsoapbox.blogspot.com/ 

Uundværligt MySQL-værktøj nr. 4: tcprstat 
Tcprstat er nok det mest esoteriske af de 10 værktøjer på denne liste. Værktøjet overvåger TCP-forespørgsler og printer statistik om svartider på lavt niveau. Når du bliver hjemmevant i at tænke på ydelse ud fra svartider, så er der et væsentligt udbytte at hente i tcprstat. 

Princippet forklares nærmere i bogen "Optimizing Oracle Performance", skrevet af Cary Millsap og Jeff Holt, og gælder lige såvel i forhold til MySQL. Den grundlæggende idé er, at en service - i dette tilfælde MySQL - accepterer en anmodning (forespørgsel), udfører den anmodning (eksekveringstid) og svarer med resultater (resultatsæt).

Servicens svartid er den, der går fra modtagelse af en anmodning til afsendelse af et svar. Jo kortere svartid, des flere anmodninger kan behandles på den samme mængde tid. 

Parallelberegning og andre faktorer på lavt niveau spiller her en væsentlig rolle, men forenklet sagt kan udbyttet forklares med, at der er 28.800 sekunder på en otte timers arbejdsdag, og ved at reducere svartiderne med blot fire tiendedele af et sekund (eksempelvis fra 0,5 til 0,1 sekund) kan man hver dag behandle 230.400 flere anmodninger. 

Der er kun lige plads i denne artikel til at pirre din nysgerrighed, så jeg vil afslutte introduktionen til dette værktøj med at fortælle dig om det første skridt i arbejdet med at optimere MySQL-svartider: Læs "Optimizing Oracle Performance" og begynd derefter at anvende tcprstat. 

Download: (kildekode) https://launchpad.net/tcprstat | (binær) http://www.percona.com/docs/wiki/tcprstat:start 
Vedligeholdes af: Percona 
Mere information: 
http://www.percona.com/docs/wiki/tcprstat:start 
og https://launchpad.net/tcprstat 

Se flere uundværlige værktøjer på næste side.

Flere uundværlige MySQL-værktøjer

Uundværligt MySQL-værktøj nr. 5: pt-table-checksum 
Såkaldt "data drift" eller afvigelser i dataene udgør et betydeligt problem for dynamiske MySQL-miljøer. Dette problem, hvor slave-data kommer ud af synkronisering med master-dataene, forårsages ofte af, at data skrives til en slave eller at der udføres bestemte nondeterministiske forespørgsler på masteren.

Hvad værre er, sådanne afvigelser kan fortsætte i al ubemærkethed, indtil de lammer systemet. Her kommer pt-table-checksum ind i billedet. Det er et værktøj, der udfører komplekse udregninger, der er nødvendige for at kontrollere, om dataene i to eller flere tabeller er identiske. 

Pt-table-checksum fungerer både med standalone-servere og med servere i et replikerings-hierarki, hvor værktøjet virkelig kommer til sin ret. En verifikation af tabeldataene mellem en master og en slave er nødt til at tage højde for overensstemmelse i replikeringen.

Da ændringer i masteren replikeres til slaver med en vis forsinkelse, er det ikke en pålidelig måde at verificere overensstemmelsen ved blot at læse data fra serverne, fordi dataene konstant ændres og er ufuldstændige, indtil de er komplet replikerede.

Det ville være muligt at foretage konsistente læsninger, hvis man låste tabellerne og ventede på, at alle data var replikerede, men det ville også effektivt sætte serverne ud af spil. Pt-table-checksum gør dig derimod i stand til at udføre ikke-blokerende, konsistente kontrolsum af master- og slave-data.

Udover konsistens i forhold til replikering er der også andre vanskeligheder ved verifikation af data. Tabelstørrelser er en af dem. MySQL-kommandoen CHECKSUM TABLE er tilstrækkelig for små tabeller, men store tabeller kræver såkaldt "chunking" - det vil sige at bryde større opgaver ned i mindre bidder - for at undgå at optage eller overbelaste beregnings- eller hukommelses-ressourcerne med kontrolsum-beregninger. 

Chunking løser også et andet problem, navnlig behovet for jævnlig kontrol af data-konsistens. Selvom data drift kan være en engangs-hændelse, så vil det oftest gentage sig. Pt-table-checksum er designet til uafbrudt at kontrollere tabellerne bid for bid, indtil hele tabellen er blevet tjekket.  At denne proces hele tiden er i gang hjælper til at sikre, at gentagende afvigelser løbende korrigeres. 

Mere information: http://www.percona.com/doc/percona-toolkit/pt-table-checksum.html 
Vedligeholdes af: Daniel Nichter og Baron Schwartz 
Værktøjet er en del af Percona Toolkit, som kan hentes her.

Uundværligt MySQL-værktøj nr. 6: pt-stalk og [b]pt-collect[/b] 
Problemer har det med at vente med at opstå, indtil man ikke lige kigger eller mens man ligger derhjemme og sover. Det kan i sådanne tilfælde være direkte umuligt at diagnosticere et problem fyldestgørende, uden data om hvilken tilstand MySQL og serveren var i, da problemet opstod.

Da ingen alligevel kender dit system bedre end dig selv, vil den naturlige tendens ofte være at skrive dit eget script, der venter på eller kontrollerer efter problemer for derefter at begynde at logge ekstra data.

Problemet med denne tilgang er, at du kender dit system bedst, når det fungerer - det vil sige, at du ved, hvordan det burde fungere - men hvis du kendte systemets svagheder, ville du jo blot rette dem frem for at forsøge at opdage og analysere deres symptomer. 

Heldigvis har nogle af de, der specialiserer sig i at vide, hvornår MySQL ikke fungerer og i at løse de problemer, der opstår, når det sker, skrevet en duo af værktøjer ved navn pt-stalk og pt-collect.

Det første værktøj venter på, at bestemte betingelser bliver opfyldt, hvorefter den kører en instance af det andet værktøj. Det lyder trivielt, men disse to værktøjer er effektive, fordi der er taget hånd om visse detaljer. 

For det første kan pt-stalk køre pt-collect i tilpassende intervaller, så du slipper for at logge alt for mange overflødige data, der kan komplicere den efterfølgende analyse. For det andet indsamler pt-collect ikke blot de almindelige informationer, som MySQL selv kan rapportere om, men langt flere data, som du ikke nødvendigvis havde overvejet at inkludere såsom blandt andet lsof, strace og tcpdump.

Så hvis du ender med at konsultere en professionel med speciale i at rette MySQL-problemer, vil du have alle tænkeligt brugbare data. 

Pt-stalk og pt-collect kan konfigureres, så de kan bruges til stort set ethvert problem. Det eneste krav er tilstedeværelsen af en definerbar betingelse, som kan være den udløsende faktor for, at pt-stalk kører pt-collect. Hvis problemet opstår ved adskillige betingelser, kan du have behov for ekstern assistance til en mere gennemgribende undersøgelse af dit MySQL-miljø, da der kan opstå problemer i MySQL, hvor den underliggende årsag er at finde et helt andet sted. 

Pt-stalk og pt-collect kan også anvendes proaktivt. Hvis du for eksempel ved, at der aldrig på noget givent tidspunkt skal være mere end 50 aktive MySQL-forbindelser, så kan du proaktivt opsætte en sådan overvågning. Disse værktøjer er således brugbare både i forhold til kendte problemer og til problemer, du endnu ikke har iagttaget. 

Mere information: http://www.percona.com/doc/percona-toolkit/pt-stalk.html | http://www.percona.com/doc/percona-toolkit/pt-collect.html
Vedligeholdes af: Baron Schwartz 
Værktøjerne er en del af Percona Toolkit, som kan hentes her.

Oversat af Thomas Bøndergaard.

Læs også:
Disse værktøjer til MySQL kan du ikke undvære[b] (
del 1)[/b]




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
TIETOEVRY DENMARK A/S
Udvikler, sælger og implementerer software til ESDH, CRM og portaler. Fokus på detailhandel, bygge- og anlæg, energi og finans.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Compliance og strategisk it-sikkerhed efter DORA

Finansielle koncerner har i snit 85 sikkerhedsløsninger i drift – men er i snit op til 100 dage om at opdage et igangværende cyberangreb. Ydermere viser øvelser, at det typisk tager 4-6 uger at rense og genetablere sikker drift af centrale systemer efter et stort angreb. Fokus for dagen vil derfor være på henholdsvis governance samt om, hvordan du som it-leder i den finansielle sektor skal kunne håndtere fremtidens cybertrusler og arbejde effektivt med sikkerhed på et strategisk niveau.

04. april 2024 | Læs mere


EA Excellence Day

Hvad er det, der gør it-arkitektens rolle så vigtig? Og hvad er det for udfordringer inden for områder som cloud, netværk og datacentre, som fylder hos nogle af landets bedste it-arkitekter lige nu? Det kan du her høre mere om og blive inspireret af på denne konference, hvor du også får lejlighed til at drøfte dette med ligesindede.

16. april 2024 | Læs mere


IAM - din genvej til højere sikkerhed uden uautoriseret adgang og datatab

På denne dag udforsker vi de nyeste strategier, værktøjer og bedste praksis inden for IAM, med det formål at styrke virksomheders sikkerhedsposition og effektiviteten af deres adgangsstyringssystemer og dermed minimere risikoen for uautoriseret adgang og datatab. Og hvordan man kommer fra at overbevise ledelsen til rent faktisk at implementere IAM?

18. april 2024 | Læs mere