Luo ramdisk kiihdyttää Amavis Linuxissa

Verkkopalvelimen päivittäisessä käytössä on havaittavissa, että joidenkin palveluiden pyyntöjen käsittely kestää yhä pidempään ja pidempään ja kuormittaa siten palvelinta.
Tyypillinen esimerkki on sähköpostipalvelimen ja virusskannerin välinen rajapinta: Amavis, joka tallentaa sähköpostit väliaikaisesti ja lukee ne uudelleen. Tämä aiheuttaa luonnollisesti suuren kysynnän kiintolevyjen tai SSD-levyjen käytölle suuremmissa järjestelmissä.
Tällöin on suositeltavaa ulkoistaa nämä tiedostotoiminnot keskusmuistiin, jotta käsittely nopeutuu huomattavasti.

Muita esimerkkejä olisivat itse /tmp-hakemisto, jossa tarvittaessa. php Istuntotiedostot voidaan tallentaa tai myös lokitiedostot.

Kun tallennetaan RAM-muistiin, on tietenkin aina olemassa riski, että tiedot menetetään järjestelmän vian tai palvelimen uudelleenkäynnistyksen vuoksi. Tallenna siis aina vain merkityksettömät tiedot. Tiedot tallentaa sinne tai varmistaa säännöllinen varmuuskopiointi.

RAMDISK Amavisille voidaan luoda helposti muutamalla komennolla.

Ramdiskin määrittämiseksi tarvitsemme hakemiston, johon Amavis tallentaa tiedostot, sekä käyttäjän ja ryhmän tunnukset.

Helpoin tapa tehdä molemmat on

grep 'amavis' /etc/passwd

luetaan ääneen.

amavis:x:497:497:497:Amavis email scan user:/var/amavis:/bin/sh

Tässä esimerkissä polku on /var/amavis. Väliaikaiset tiedostot tallennetaan sitten hakemistoon /var/amavis/tmp. Tähän hakemistoon haluamme luoda ramdiskin.

UserID on ensimmäinen numero 497, jota seuraa GroupID, joka tässä tapauksessa on myös 497.

Kirjoitetaan /etc/fstab-tiedostoon seuraava rivi, jotta ramdisk luodaan myös uudelleenkäynnistyksen jälkeen:

tmpfs /var/amavis/tmp tmpfs defaults,size=256m,mode=750,uid=497,gid=497 0 0

Ramdiskin koko ei saa olla liian pieni, koska amavis hylkää sähköpostit, jos raja ylittyy. 256 Mt riittää useimmissa tapauksissa.

Tämänhetkinen kysyntä voidaan laskea esimerkiksi seuraavalla kaavalla

du -hs /var/amavis/tmp

selvittääksesi asian. Tulos, esimerkiksi 11M /var/amavis/tmp, kertoo, kuinka monta megatavua hakemistossa jo on. On kuitenkin myös huomattava, että päivinä, jolloin postin määrä on suuri, koska Roskaposti tai suuria liitetiedostoja, tarvitaan luonnollisesti enemmän tilaa.

Hätätilanteessa voit kuitenkin aina poistaa tai suurentaa ramdiskin uudelleen.

Nyt voimme yksinkertaisesti liittää ramdiskin komennolla

mount /var/amavis/tmp

Via

df -h

tmpfs 512M 0 512M 0% /var/amavis/tmp

voimme nähdä, että ramdisk on käytössä ja tyhjä.

Tällä hetkellä amaviksen käsittely on erittäin nopeaa.

Nykyiset artikkelit