Настройки на MySQL server

Публикувано на 2009-06-26 @ | Преглеждания: 7943
story


Има и още някои тънкости, свързани с кеша. Например query_cache прави разлика между малки и големи букви. Например заявките “SELECT * FROM banks” и “select * from banks” за query_cache ще са две различни заявки. Това е и една от причините да спазваме някакви конвенции при програмирането на бази данни.

При силно използване на MyISAM е добре да гледате т.нар. “key_buffer_size hit ratio”. То се изчислява по следната формула:

Key_reads/Key_read_requests

Ако стойността е над 0,01, то е добре да помислите за увеличаване на key_buffer_size.

Накрая е важно да споменем и променливата за “прекъсване” (timeout). Wait_timeout е променлива, която контролира “спящите” връзки. Често програмистите на приложения забравят да затворят връзките си към базата данни. Това естествено рефлектира с изразходване на памет, което никак не е добре. Намаляване на wait_timeout ще затваря спящите връзки по-бързо. Обикновено предпочитанията на администраторите са в интервала 10 до 15 секунди. Имайте в предвид обаче, че намаляването на wait_timeout може да рефлектира в нужда от увеличаване на max_connections. Тук в голяма помощ идва thread_cache променливата, за която писахме по-горе.

Също така опитайте оптимизация по следната формула:

table_cache=opened table / max_used_connection

Трябва да знаете, че няма стриктна формула, по която нашия MySQL сървър да работи най-добре. Обикновено настройките са един постоянен и продължителен процес. Добрите администратори непрекъснато следят системата си и я “тунинговат” според натоварването.

В тази статия сме дали само най-важните променливи, свързани с производителност на системата. Имайте в предвид, че общо за MySQL 5.1 общо променливите са над 260 (естествено не всички са използваеми и не всички свързани с производителност).

attention Копирането е забранено без изричното съгласие на vGuides.net.
vGuides.net @ Facebook