Når du jobber med å øke hastigheten på nettstedet ditt, sørger det for at du får alle siste dråper 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 prestasjonsstemmende skript som analyserer serverinnstillingene og gjeldende status, og gir 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 søkelogg
-
Maks. Tilkoblinger
- Arbeidertråder
-
Nøkkelbuffer
- Query Cache
-
Sorter buffer
- tiltrer
-
Temp Tabeller
- Tabell (Open & Definition) Cache
-
Tabell låsing
- Tabellskanninger (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 den 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 mye flere anbefalinger, men var for lang til å passe på siden.
./tuning-primer.sh
- MYSQL PERFORMANCE TUNING PRIMER - – By: Matthew Montgomery –
MySQL Version 4.1.20 i686
Uptime = 5 days 10 hrs 46 min 5 sec Avg. qps = 4 Total Questions = 2020809 Threads Connected = 1
Server has been running for over 48hrs. It should be safe to follow these recommendations
---– snipped ----–
QUERY CACHE Query cache is enabled Current query_cache_size = 8 M Current query_cache_used = 7 M Current query_cach_limit = 1 M Current Query cache fill ratio = 89.38 % However, 254246 queries have been removed from the query cache due to lack of memory Perhaps you should raise query_cache_size MySQL won’t cache query results that are larger than query_cache_limit in size
---– snipped ----–
Ser ut som jeg trenger å øke spørringsbufferen min … Jeg satte den til bare 8 MB, men det renser ut cachen altfor ofte.
---– snipped ----–
TEMP TABLES Current max_heap_table_size = 16 M Current tmp_table_size = 32 M Of 35170 temp tables, 74% were created on disk Effective in-memory tmp_table_size is limited to max_heap_table_size. Perhaps you should increase your tmp_table_size and/or max_heap_table_size to reduce the number of disk-based temporary tables Note! BLOB and TEXT columns are not allow in memory tables. If you are using these columns raising these values might not impact your ratio of on disk temp tables.
---– snipped ----–
Denne typen informasjon er bare uvurderlig når du prøver å tune ytelsen til nettstedet ditt.
Last ned MySQL Performance Tuning Primer Script