I denne artikel vil vi diskutere virkningen af overdreven MySQL-aktivitet, og hvordan det kan være skadeligt for din kontos samlede ressourceforbrug. MySQL er databasens backend af mange populære webapplikationer, og det er her, disse applikationer gemmer deres data for senere at blive hentet af serversidescripts for at trække disse oplysninger ind på dine sider.
Hvis du tilfældigvis har modtaget en meddelelse fra vores systemadministrationsafdeling om overdreven MySQL-aktivitet, der kommer fra din konto, betyder det mere end sandsynligt, at det aktivitetsniveau, de så, oversteg mulighederne for den hostingplatform, som din konto ligger på i øjeblikket.
Almindelige årsager til overdreven MySQL-aktivitet
Lange forespørgsler | En typisk SQL-forespørgsel burde være i stand til at fuldføre inden for 1 sekund til måske højst et par sekunder. At have langvarige forespørgsler, der konsekvent overskrider disse forespørgselstider, kan føre til forsinkelser i visningen af andre forespørgsler på serveren. |
---|---|
Høje forespørgsler pr. sekund | SQL-forespørgsler vil typisk komme i små bølger i direkte forhold til din trafik, og hvis dine scripts kræver en stor mængde SQL-forespørgsler pr. sideindlæsning, kan du potentielt have et højt antal af SQL-forespørgsler pr. sekund, hvilket kan føre til en negativ indvirkning på serverens forespørgselsydeevne og begynde at føre til langvarige forespørgsler. |
Store forespørgsler ikke optimeret | Nogle SQL-forespørgsler vil være meget komplekse af natur, især dem, der forbinder flere tabeller med data, før de udfører operationer på disse data. At sikre, at dine SQL-forespørgsler er effektive og kun trækker de data op, de faktisk skal vise, kan hjælpe med at forhindre disse ineffektive forespørgsler i at forårsage enten langvarige forespørgsler eller et højt antal forespørgsler pr. sekund. |
Vedholdende forbindelser | De fleste SQL-forespørgsler vil blot åbne en forbindelse til databasen, hente data og derefter lukke databaseforbindelsen. MySQL understøtter også vedvarende forbindelser, hvor forbindelsen opretholdes, selv efter at dataene er hentet. Dette kan nogle gange være problematisk, især på delt hosting, hvor du kan løbe ind i max _user_connections grænse sat i MySQL. |
I de fleste tilfælde, hvis din MySQL-aktivitet er overdreven, vil vores systemadministrationsafdeling kontakte dig med en generel forklaring på, hvor aktiviteten ser ud til at komme fra.
Optimering af MySQL-brug
Et godt første skridt til at optimere din MySQL-database er ved at bruge phpMyAdmin til at optimere en database.
Nogle gange kan din normale MySQL-aktivitet være helt i orden, men når robotter begynder at crawle dit websted, kan dette fremhæve ineffektivitet i din applikation, så også at vide, hvordan man stopper søgemaskiner og robotter i at crawle dit websted, ville også være god information at vide.
Endelig vil du også gerne se på de tilgængelige SQL-cache-indstillinger for din applikation. For eksempel hvis din forside kræver 2 SQL-forespørgsler for at vise al information på den side, og du har 100 personer, der kommer til den side, vil det være 200 forespørgsler, og det trækker ikke nogen unikke data tilbage, bare de samme ting hver gang.
Implementering af SQL caching kan hjælpe med at skære ned på disse duplikerede databaseforespørgsler, for et eksempel på denne type caching kan du læse om optimering af WordPress med W3 Total Cache plugin.