In het dagelijks gebruik van een webserver vallen sommige diensten steeds vaker op de server om een aanvraag te verwerken en zo de server te laden.
Een typisch voorbeeld is de interface tussen de mailserver en de virusscanner: Amavis, die de e-mails tijdelijk opslaat en weer leest. Dit creëert natuurlijk een grote vraag naar toegang tot de harde schijven of SSD's in grotere systemen.
Hier is het mogelijk om deze bestandsbewerkingen op te slaan in het werkgeheugen om een aanzienlijk snellere verwerking te garanderen.
Andere voorbeelden zijn de /tmp directory zelf in de php sessiebestanden, of zelfs logbestanden.
Bij het opslaan in RAM is er altijd het risico van verlies door een defect in het systeem of een herstart van een server. U moet daarom altijd alleen onbelangrijk sparen Gegevens daar op te slaan, of te zorgen voor een regelmatige back-up.
Een RAMDISK voor Amavis kan eenvoudig worden gemaakt met een paar commando's.
Om een ramdisk op te zetten hebben we de directory nodig waar Amavis de bestanden opslaat en de gebruikers- en groeps-ID.
Beide kunnen het gemakkelijkst worden gedaan met
grep 'amavis' /etc/passwd
uit te lezen.
amavis:x:497:497:Amavis e-mailscan gebruiker:/var/amavis:/bin/sh
Het pad in dit voorbeeld is /var/amavis. De tijdelijke bestanden worden dan opgeslagen in de map /var/amavis/tmp. Voor deze directory willen we een ramdisk maken.
Het gebruikers-ID is het eerste nummer 497, gevolgd door het groeps-ID dat in dit geval ook 497 is.
In /etc/fstab voeren we nu de volgende regel in om ervoor te zorgen dat de ramdisk ook na een reboot wordt aangemaakt
tmpfs /var/amavis/tmp tmpfs defaults,size=256m,mode=750,uid=497,gid=497 0 0
De grootte van de ramdisk mag niet te klein zijn, want amavis zal e-mails weigeren als de limiet wordt overschreden. 256MB zijn in de meeste gevallen voldoende.
U kunt de huidige vraag bepalen met
u -hs /var/amavis/tmp
onderzoeken. Het resultaat, bijvoorbeeld 11M /var/amavis/tmp, geeft dan aan hoeveel megabytes er al in de directory staan. Er moet echter ook worden opgemerkt dat op dagen met een hoog postvolume als gevolg van Spam of grote bestandsbijlagen natuurlijk meer ruimte nodig is.
In geval van nood kan de ramdisk echter nog steeds worden verwijderd of vergroot.
Nu kunnen we de ramdisk gewoon monteren met
mount /var/amavis/tmp
Via
df -h
tmpfs 512M 0 512M 0% /var/amavis/tmp
kunnen we dan detecteren dat onze ramdisk actief en leeg is.
Van nu af aan is de verwerking van Amavis extreem snel.