9Aug

Bruke et MySQL Performance Tuning Analyzer Script

Når du arbeider med å øke hastigheten på nettstedet ditt, sørger et veldig viktig stykke for at du får hver siste dråpe ytelse ut av databaseserveren din. Dessverre, for de fleste av oss som ikke vanligvis er databaseadministratorer, kan dette være et vanskelig forslag.

Det finnes en rekke ytelsesstemmende skript som vil analysere serverinnstillingene og gjeldende status og gi deg informasjon om anbefalte endringer som du bør gjøre. Du bør ikke nødvendigvis følge alle forslagene, men det er verdt å ta en titt på allikevel.

Skriptet jeg har brukt, gir deg anbefalinger for følgende:

  • Langsom forespørselslogg
  • Maks. Tilkoblinger
  • Arbeidstråder
  • Nøkkelbuffer
  • Query Cache
  • Sorter buffer
  • Slår
  • Temp Tabeller
  • Tabell( Åpent og definisjon) Cache
  • TabellLåsing
  • Tabellskanner( read_buffer)
  • Innodb Status
  • Når du laster ned skriptet, må du gjøre det kjørbart med følgende kommando:

    chmod u + x tuning-primer.sh

    Hvis du kjører dette skriptet som en vanlig bruker, vil det be deg om passordet ditt, så du må sørge for å angi tilgangen tilsvarende. Hvis du kjører det som root, vil det hente mysql-passordet fra Plesk hvis du har installert det.

    Jeg har kuttet ut mye av produksjonen, som hadde mange flere anbefalinger, men var for lang til å passe på siden.

    . /tuning-primer.sh

    - MYSQL PRESTASJON TUNING PRIMER -
    - Av: Matthew Montgomery -

    MySQL Versjon 4.1.20 i686

    Uptid = 5 dager 10 timer 46 min 5 sek
    Gj.sn.qps = 4
    Totalt antall spørsmål = 2020809
    Threads Connected = 1

    Server har kjørt i over 48 timer.
    Det bør være trygt å følge disse anbefalingene

    ---- Snipped -----

    QUERY CACHE
    Query cache er aktivert
    Nåværende query_cache_size = 8 M
    Nåværende query_cache_used = 7 M
    Nåværende query_cach_limit = 1 M
    Gjeldende spørringsbufferfylleforhold = 89,38%
    Imidlertid er 254246 spørringer blitt fjernet fra spørringsbufferen på grunn av mangel på minne
    Kanskje du burde heve query_cache_size
    MySQL vil ikke cache spørresultater som er større enn query_cache_limit i størrelse

    ---- kuttet -----

    Ser ut som jeg trenger å øke spørringsbufferen min. .. Jeg satte den til bare 8 MB, men det renser ut cachen altfor ofte.

    ---- kuttet -----

    TEMP TABELLER
    Nåværende max_heap_table_size = 16 M
    Nåværende tmp_table_size = 32 M
    Av 35170 temp tabeller, ble 74% opprettet på disken
    Effektiv i minnet tmp_table_size er begrenset til max_heap_table_size.
    Kanskje du bør øke tmp_table_size og / eller max_heap_table_size
    for å redusere antall diskbaserte midlertidige tabeller
    Merk! BLOB- og TEKST-kolonner tillates ikke i minnetabeller.
    Hvis du bruker disse kolonnene, kan disse verdiene kanskje ikke påvirke ditt
    -forhold på disktabeller.

    ---- kuttet -----

    Denne typen informasjon er bare uvurderlig når du prøver å tune ytelsen til nettstedet ditt.

    Last ned MySQL Performance Tuning Primer Script