Root » Servers » » Harde schijf » » Diverse » » Snelheid verhogen (ramdisk)
Nog Meer Snelheid
met een ramdrive of ramdisk
RAM
De maximale snelheidswinst kan je bekomen door een deel van je werkgeheugen te gebruiken als harde schijf. Een ramdisk is een driver (voor een onbestaand apparaat) die een schijf nabootst door een deel van het werkgeheugen te gebruiken. Met een ramdisk compenseer je de beperkingen van de SSD (houdt niet van schrijfopdrachten). De ramdisk gebruik je voor het opslaan van tijdelijke bestanden.

Windows zelf heeft een cache waar tijdelijke bestanden opgeslagen worden, maar voor bepaalde toepassingen is een specifieke temp schijf aangewezen.

RAMDRIVE

Wie ooit met dos gewerkt heeft weet dat je gemakkelijk een ramdrive kan aanmaken. Gewoon in je config.sys opnemen:

devicehigh=c:\windows\ramdrive.sys 32767 256 /E

Vooraf moet je de extended memory manager (HIMEM.SYS) geladen hebben zodat de ramdrive in extended memory aangemaakt wordt. Probeer geen ramdrive in conventional memory te laden, want dan heeft windows zelf onvoldoende geheugen. Windows 98 heeft heelwat conventional memory nodig, want een aantal drivers zijn legacy (op 16 bits gebaseerd).

Met het commando hierboven maakt je een ramdrive aan in extended memory met een grootte van 32 MB (het maximum) en 256 bytes per sector. Je kan ook het aantal directory entries in de root specifieren (hoeveel bestanden er maximaal in de root mogen zitten). Dit is nodig want de ramdrive wordt in FAT-16 opgemaakt, en bij dit formaat heeft de root directory een vaste afmeting. Om het aantal bestanden niet te beperken is het aangewezen direct een temp-directory aan te maken (dit kan in autoexec.bat).

RAMDISK

Bij de recentere windows-versies bestaat er een alternatief aangepast aan de nieuwe windows versie, ramdisk. Het bestaat uit een ramdriver (ramdisk.sys), een configuratiescherm zodat je de parameters vanuit windows kan aanpassen (ramdisk.dll) en een installer (ramdisk.inf). De installatie is eenvoudig (er zit trouwens een handleiding in PDF in het zip-bestand):
  • Ramdisk.zip uitpakken
  • Ga naar configuratiescherm en kies hardware
  • nieuw apparaat bijvoegen
  • Selecteer manueel van een lijst
  • Kies "software halen uit gespecifieerde lokatie (bladeren)" en naar de directory wijzen waar je de bestanden uitgepakt hebt.
Halverwege zal windows zoeken naar hardware (terwijl dit eigenlijk niet nodig is en niets zal opleveren). Dit is een stap dat windows had kunnen overslaan, want met de plug-en-play hardware worden nieuwe hardware toch automatisch gedetecteerd. Nog eens zoeken is idioot en typisch vistańchtig. De installatie zelf verloopt rimpelloos en zou je direkt een kleine ramdisk moeten opleveren. Herstarten is zelfs niet nodig.

De parameters van de ramdisk veranderen doe je in device manager (apparaatbeheer) [sorry, ik werk enkel met engelstalige windows-versies]: er is een nieuw “apparaat” bijgekomen: een ramdisk.

Tegenwoordig hebben computers voldoende geheugen voor windows 2000 en XP. Mijn servers, waarop enkel een web en een mailserver draaien hebben 2GB aan geheugen terwijl slechts 300MB daarvan gebruikt worden. Een nuttige toepassing is alle tijdelijke bestanden op de ramdisk op te slaan. Ik denk bijvoorbeeld aan de verschillende elementen van een webpagina die tijdelijk opgeslagen moeten worden vooraleer de volledige pagina samengesteld kan worden. Afbeeldingen die in real-time opgemaakt worden. Onbelangrijke logfiles. Bestanden die vaak gewijzigd moeten worden. Sessie-gegevens bij het bezoeken van een website (opmaken van een winkelmandje). Het voordeel is dat de bestanden veel sneller toegangkelijk zijn, en zolang de bezoeker niet effektief gekocht heeft, heeft het winkelmandje geen waarde.

Voor gewone aktiviteiten is een ramdrive niet zo nodig. Windows plaatst automatisch de bestanden die vaak bewerkt worden in een cache (niets nieuws onder de zon: ten tijde van dos hette dit SMARTDRV). Bij servers is dit minder evident, windows kan moeilijk bijhouden wat tijdelijk is. In windows bestaan er verschillende mechanismen om aan te duiden dat een bestand tijdelijk is, maar voor windows is dit vooral een signaal dat het bestand in een (reeds overvolle) TEMP directory geplaatst moet worden. Memory-mapped bestanden komen weinig voort omdat de programmatie ervan complex is (en door de programeertalen niet ondersteund wordt: je moet zelf de juiste API's aanroepen)

De combinatie ramdisk + Solid State Disk maakt van je oude server een supercomputer. De SSD is zeer snel bij het lezen maar houdt niet van herhaaldelijk schrijven, schrijf daarom je tempfiles naar een ramdisk.

De ramdisk wordt gewist bij het uitschakelen, maar blijft bewaard bij hibernatie en stand-by.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's