Samba jõudluse parandamine

From ICO wiki
Revision as of 11:29, 16 December 2009 by Mraudsik (talk | contribs) (→‎Versioon)
Jump to navigationJump to search

Autor

Martin Raudsik

Versioon

0.4 (Socket options) - viimati muudetud 11:27, 16 December 2009 (EET)

Eeldused

Ubuntu server 9.10
Samba 3.4

Sissejuhatus

Selleks, et Samba jõudlust parandada, tuleb muuta SOCKET OPTIONS, log level-it ja locking-ut.
Antud artikkel käsitleb socket options konfigureerimist.

Socket options

Põhilised socket options-id on järgmised:
TCP_NODELAY - Server saadab niipalju pakette kui vaja, et hoida viiteaeg madal. Seda kasutatake telneti ühenduste puhul selleks, et saavutada lühikest reaktsiooniaega (kui kiiresti saab päringule vastuse) ja head kiirust, isegi kui saadetakse väikseid päringuid.
IPTOS_LOWDELAY - muudab viiteaega madalamaks, kuid mõjutab serveri asemel ruutereid ja teisi süsteeme. IPTOS_LOWDELAY-d tuleks kasutada siis, kui TCP_NODELAY-gi.
SO_KEEPALIVE - määrab, kui pika aja jooksul kontrollitakse, kas klient on veel serveriga ühenduses ehk kas ühendus pole aegunud. Vastasel juhul tagastatakse mitte kasutuses olev mälu ja protsessitabeli kirjed operatsioonisüsteemile.
SO_SNDBUF ja SO_RCVBUF - send ja receive puhvreid saab seadistada suuremaks, kui on operatsioonisüsteemil. Sellega kasvab kiirus märgatavalt. SO_SNDBUF ja SO_RCVBUF suuruseid saab määrata vahemikus kuni 32KB (vaikeväärtuseks on 8192). Kõige targem oleks määrata need seaded üheks nendest: 1024, 2048, 4096, 6144, 8192, 12288, 16384, 24576, 32768, 40960, 49152, 65535, 98304, 131072, 196608, ja 262144; sest see annab hea väärtuste jaotuse.

Seadistamine

Socket options peab asuma Samba konfiguratsioonifailis smb.conf [Global] osas.

nano /etc/samba/smb.conf

Socket options rida näeb vaikimisi välja selline:

[Global]
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

kuid jõudluse parandamiseks, peaks seda konfigureerima vastavalt võrguseadmete ja operatsioonisüsteemi võimekusele. Enne konfigureerimist oleks vajalik mõõta, kui suureks on mõistlik määrata SO_RCVBUF ja SO_SNDBUF. Mõõtmiseks saab kasutada programme bonnie++ ja iozone.