Etter den første installasjonen av en MySQL-database, kan IT-ledere oppdage at I / O-ytelsen til deres servere har begynt å nedbrytes.

En av de vanligste årsakene til dette er fragmentering av harddisken. Hvis din spesielle installasjon bruker et stort antall tilfeldige samtaler, fører dette ofte til fragmentering på tvers av alt installert minne.

Å ha et defrag regime på plass er viktig for å unngå dette ytelsesproblemet.

Et av de viktigste områdene for å lete etter fragmentering er i SQL-tabellene. Dette kan ofte skje med tilfeldig sletting og innsetting i stadig større grad fragmentering av et bord til det er en nedgang i ytelsen i vertsserveren.

I tillegg, hvis du ser økt bruk av diskplass, som ikke kan forklares av andre handlinger du har tatt, er det sannsynlig at et fragmentert tabellen skal klandre, da de pleier å ta opp mer ledig diskplass.

Første skritt

De vanligste tabellene for å oppleve fragmentering vil være InnoDB og MyISAM. For systemadministratorer som er opptatt av å forstå hvorfor databaseprestasjonen deres erodert, fokuserer på den tidligere typen bord først, vil alltid være et godt første skritt.

Dette skyldes at når InnoDB-tabellen markerer alle skriftlige data som slettet, er blokken tom og ikke overskrevet med nye data. Selvfølgelig, over tid, oppblåses kunstig bordet med et tilsvarende problem med ytelse.

Generelt vil kjøringen av 'Optimize Table' -rutinen gjenoppbygge tabellen og indeksen. Legg merke til at tabellen vil bli låst mens denne kommandoen utføres.

Dessuten bør sysadmins være oppmerksom på at sekundære tabeller fortsatt kan ha høye nivåer av fragmentering selv etter at rutinen er fullført.

Imidlertid blir mange sysadminer mer intelligente med sine defragmenteringsregimer, da de innser at noen tabeller vil ha mer trafikk enn andre. Å utføre en hard defragmentering via Optimize Table-rutinen kan være ineffektiv.

En konsekvens av å gjøre dette regelmessig er at hver forekomst genererer en transaksjonslogg, noe som kan ta økende tid til å sikkerhetskopiere. Også, å sjekke det faktiske nivået av fragmentering på hver indeks før du starter, kan ofte være svært avslørende.

Angi et minimumsnivå for indeksfragmentering før defragging utføres, sikrer at du ikke utfører unødvendige defragmer på serverne dine.

Lav fyllfaktor

Sysadmins bør også tenke på hvordan de har sin database satt opp. I noen tilfeller vil dette inkludere en lav fyllfaktor, noe som forteller skriver til databasen, men omvendt bremser leser.

De kan også se ytelsesfordeler hvis de kan cache sine databaser.

Hvis dette ikke er mulig, se på hvordan databasen er spredt over de installerte harddiskene. Hvis du har delt lagring over en Dell PowerEdge-installasjon for eksempel, tenk på hvordan du kan forenkle dette for å redusere mengden tilfeldige tilganger databasen din må utføre over et gitt antall harddisker.

I tillegg til å fokusere på databasetabellene selv, bør IT-ledere også tenke på vedlikehold av de fysiske harddiskene som serverne bruker. En OS-defragmentering med jevne mellomrom bør gi bedre forventet levealder for maskinvaren, og tillate også installerte applikasjoner å se ytelsesforbedringer.