Когато работите върху увеличаването на скоростта на уебсайта си, много важна част е да се уверите, че получавате всяка последна капка от работата си от сървъра на базата данни. За съжаление, за повечето от нас, които обикновено не са администратори на бази данни, това може да е трудно предложение.
Има няколко скрипта за настройка на ефективността, които ще анализират настройките на сървъра и текущото ви състояние и ще ви дадат информация за препоръчителните промени, които трябва да направите. Не трябва непременно да следвате всички предложения, но си струва да погледнете навсякъде.
Сценарият, който използвам, ви дава препоръки за следното:
- Бавен дневник за заявки
-
Max Connections
- Работни нишки
-
Буфер за ключови думи
- Заявка за кеш
-
Сортиране на буфера
- присъединява
-
Темп Таблици
- Таблица (отворена и дефинираща) кеш
-
Заключване на таблицата
- Сканиране на таблици (read_buffer)
- Статус "Индоб"
След като изтеглите скрипта, ще трябва да го направите изпълним със следната команда:
chmod u+x tuning-primer.sh
Ако изпълнявате този скрипт като обикновен потребител, той ще ви подкани за паролата ви, така че трябва да сте сигурни, че ще зададете съответно достъп. Ако го стартирате като root, ще получите парола за MySQL от Plesk, ако сте го инсталирали.
Изрязах много от продукцията, която имаше много повече препоръки, но беше прекалено дълга, за да се побере на страницата.
./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 ----–
Изглежда, че трябва да увелича моя кеш за заявки … Зададох го само на 8MB, но изчиства кеша твърде често.
---– 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 ----–
Този тип информация е само безценен, когато се опитвате да настроите ефективността на уебсайта си.
Изтегляне на MySQL Performance Tuning Primer Script