9Aug

Använda ett MySQL Performance Tuning Analyzer Script

När du arbetar med att öka hastigheten på din webbplats, är en väldigt viktig del så att du får alla sista droppar prestanda ur din databasserver. Tyvärr kan det för de flesta av oss som normalt inte är databashanterare vara ett svårt förslag.

Det finns ett antal prestationsinställningsskript som analyserar dina serverinställningar och nuvarande status och ger dig information om rekommenderade ändringar som du borde göra. Du bör inte nödvändigtvis följa alla förslag, men det är värt att titta på hur som helst.

Skriptet som jag har använt ger dig rekommendationer för följande:

  • Långsamfrågningslogg
  • Max anslutningar
  • Arbetstrådar
  • Nyckelbuffert
  • Query Cache
  • Sorteringsbuffert
  • Anslut
  • Temp Tabeller
  • Tabell( Öppna och definition) Cache
  • TabellLåsning
  • Bordsskanningar( read_buffer)
  • Innodb Status
  • När du har laddat ner skriptet måste du göra det exekverbart med följande kommando:

    chmod u + x tuning-primer.sh

    Om du kör det här skriptet som en vanlig användare, det kommer att be dig om ditt lösenord, så du måste se till att du ställer in tillträde i enlighet med detta. Om du kör det som root tar det upp mysql-lösenordet från Plesk om du har det installerat.

    Jag har klippt ut mycket av produktionen, som hade mycket fler rekommendationer, men var bara för lång för att passa på sidan.

    . /tuning-primer.sh

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

    MySQL Version 4.1.20 i686

    Uptid = 5 dagar 10 timmar 46 min 5 sek
    Avg.qps = 4
    Totalt antal frågor = 2020809
    Trådar anslutna = 1

    Server har körts i över 48 timmar.
    Det bör vara säkert att följa dessa rekommendationer

    ---- klippt -----

    QUERY CACHE
    Query cache är aktiverat
    Aktuell query_cache_size = 8 M
    Aktuell query_cache_used = 7 M
    Aktuell query_cach_limit = 1 M
    Aktuell sökning cachefyllningsförhållande = 89,38%
    Men 254246 frågor har tagits bort från frågan om cache på grund av brist på minne
    Kanske borde du hämta query_cache_size
    MySQL kommer inte cache sökresultat som är större än query_cache_limit i storlek

    ---- klippt -----

    Ser ut som att jag måste öka min fråga cache. .. Jag ställde den till endast 8 MB men det rensar ut cachen alltför ofta.

    ---- snippet -----

    TEMP TABELLER
    Aktuell max_heap_table_size = 16 M
    Aktuell tmp_table_size = 32 M
    Av 35170 temp tabeller, 74% skapades på disken
    Effektivt i minnet tmp_table_size är begränsat till max_heap_table_size.
    Kanske bör du öka din tmp_table_size och / eller max_heap_table_size
    för att minska antalet diskbaserade temporära tabeller
    Obs! BLOB- och TEXT-kolumner tillåts inte i minnetabeller.
    Om du använder dessa kolumner som höjer dessa värden påverkar kanske inte ditt
    -förhållande på disktabellbord.

    ---- snipped -----

    Denna typ av information är bara ovärderlig när du försöker ställa in prestandan på din webbplats.

    Ladda ner MySQL Performance Tuning Primer Script