Home

Page 93
Page 93
background image

25.4. Âûäåëåíèå áóôôåðîâ

low-priority-updates

set-variable= join_buffer_size=500kb

set-variable= key_buffer_size=200M

read_buffer_size = 500k

sort_buffer_size = 500k

read_rnd_buffer_size= 1m

Åñëè ó âàñ ïðîèñõîäÿò ïðåèìóùåñòâåííî âûáîðêè èç òàáëèöû, à îáíîâ-

ëåíèÿ è âñòàâêè ïðîèñõõîäÿò ðåæå, òî ìîæíî âêëþ÷èòü îïöèþ

low-priority-updates  ýòî ïîâûñèò ïðèîðèòåò SELECT çàïðîñîâ ïî ñðàâ-

íåíèþ ñ UPDATE/INSERT.

Ïàðàìåòð join_buer_size óêàçûâàåò ðàçìåð áóôåðà, èñïîëüçóåìîãî ïðè

SELECT FROM a JOIN b çàïðîñàõ, â êîòîðûõ ïðîèñõîäèò JOIN äâóõ òàá-

ëèö. Ýòîò áóôôåð èñïîëüçóåòñÿ òîëüêî åñëè íå ìîãóò áûòü èñïîëüçîâàíû

èíäåêñû òàáëèö. Åñëè æå íà òàáëèöàõ åñòü èíäåêñû è îíè ìîãóò èñïîëüçî-

âàòüñÿ äëÿ JOIN-à, òî òîãäà ýòîò ïàðàìåòð íå èãðàåò ðîëè.

Ïàðàìåòð key_buer_size îïðåäåëàåò ðàçìåð ïàìÿòè, êîòîðûé áóäåò îò-

âåäåí ïîä êåøèðîâàíèå èíäåêñîâ òàáëèö. Ýòîò êýø îáùèé äëÿ âñåõ ñîåäè-

íåíèé, ïîýòîìó åãî ìîæíî ñòàâèòü äîñòàòî÷íî áîëüøèì. Íà çàãðóæåííûõ

MySQL ñåðâåðàõ ïîä ýòîò êýø ìîãóò âûäåëàòü äî 25% âñåé îïåðàòèâíîé

ïàìÿòè ìàøèíû.

Åñëè ó âàñ äåëàåòñÿ ìíîãî ïîñëåäîâàòåëüíûõ ÷òåíèé èç òàáëèöû, òî ñòî-

èò óâåëè÷èòü ïàðàìåòð read_buer_size, êîòîðûé óêàçûâàåò ñêîëüêî ïà-

ìÿòè âûäåëàòü êàæäîìó ïîòîêó äëÿ ïîñëåäîâàòåëüíîãî ñêàíèðîâàíèÿ òàá-

ëèöû. Óâåëè÷èâàéòå ýòîò ïàðàìåòð îñòîðîæíî, òàê êàê ýòî ðàçìåð ïàìÿ-

òè äëÿ êàæäîãî ïîòîêà, òî åñòü â ìàêñèìóìå ìîæåò áûòü èçðàñõîäàâà-

íî read_buer_size * max_connections ïàìÿòè. Çíà÷åíèå ïî óìîë÷àíèþ 

128Kb.

Åñëè ó âàñ äåëàþòñÿ çàïðîñû, ðåçóëüòàò êîòîðûõ äîëæåí áûòü îòñîð-

òèðîâàí è íà äàííîé òàáëèöå åñòü èíäåêñû, òî äëÿ óëó÷øåíèÿ ïðîèâîäè-

òåëüíîñòè ñòîèò óâåëè÷èòü read_rnd_buer_size. Ýòî ìîæåò ñóùåñòâåííî

óëó÷øèòü ïðîèçâîäèòåëüíîñòü çàïðîñîâ ñ ORDER BY. Óâåëè÷èâàéòå ýòîò

ïàðàìåòð îñòîðîæíî, òàê êàê îí çàäàåò ðàçìåð ïàìÿòè, âûäåëàåìûé êàæ-

äîìó êëèåíòó. Çíà÷åíèå ïî óìîë÷àíèþ  128Kb.

Ëþáîé çàïðîñ, êîòîðûé âûïîëíÿåò îïåðàöèè ñîðòèðîâêè (ORDER BY)

è ãðóïïèðîâêè (GROUP BY), ïðåäâàðèòåëüíî âûäåëÿåò áóôôåð ðàçìåðîì

sort_buer_size . Óâåëè÷åíèå ýòîãî áóôôåðà òîæå óëó÷øàåò ïðîèçâîäè-

òåëüíîñò ýòèõ çàïðîñîâ. Çäåñü äåéñòâóåò òàêîå-æå ïðåäóïðåæäåíèå  ýòîò

áóôôåð âûäåëÿåòñÿ äëÿ êàæäîãî ñîåäèíåíèÿ. Çíà÷åíèå ïî óìîë÷àíèþ 

2Mb.

Òàêèì îáðàçîì â òîé êîíôèãóðàöèè, êîòîðàÿ óêàçàíà âûøå, èñïîëüçî-

âàíèå ïàìÿòè áóäåò ñëåäóþùèì:

Äëÿ êàæäîãî ïîòîêà/ïîäñîåäèíåííîãî êëèåíòà áóäåò âûäåëÿòüñÿ
join_buffer_size + read_buffer_size + sort_buffer_size +

read_rnd_buffer_size

ïàìÿòè.

Òàêèì îáðàçîì, ïðè ëèìèòå max_connections óñòàíîâëåííûì â 100, ìû

ïîëó÷èì (500Kb + 500Kb + 500Kb + 1Mb) * 100 = 250Mb .

93


Copyright © 2019 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.