Image Hosted by ImageShack.us

Sui server, casalinghi e non, si sa; Il transfer rate dell’hard-disk e’ un aspetto di vitale importanza.
Nei moderni dischi SATA siamo attorno ai 375 MB/s, e molto spesso le prestazioni all’interno di una rete SAMBA non perfettamente configurata sono anche inferiori.
La RAM e’ sicuramente quello spazio “virtuale” con il transfert rate piu’ alto, ma accessibile e fruibile soltanto dal sistema.
Questa affermazione non e’ del tutto vera, perche’ esiste un metodo per accedere direttamente a questa risorsa che apre le finestre su ampi scenari di utilizzo:

  • La cache utilizzata dal nostro blog per memorizzare le informazioni in formato HTML non e’ sufficiente a garantire un buon livello di refresh, specie con un alto numero di visite simultanee.
  • Host professionali che offrono la possibilita’ di scaricare un “dummy file” (finto) per mostrare ai clienti l’effettivo rendimento del bandwidth possono alla lunga dimezzare le prestazioni del disco, incappando in problemi di I/O disk.
  • Server PXE che contiene una ISO, dove un intero cluster ha accesso per l’installazione.
  • Su quasi tutti i sistemi basati su linux troviamo una “directory”:

    /dev/shm

    In realta’ non e’ una directory, bensi’ un filesystem che utilizza una memoria virtuale al posto dello spazio sull’hard-disk.
    Nello standard, /dev/shm puo’ aumentare di quanto vogliamo noi, ma di default e’ impostato sulla meta’ della RAM:

  • ES: 2GB di ram = aumento di 1GB.
  • Ora, dopo aver controllato la presenza di /dev/shm, proviamo a spostare un file all’interno:

    cp -af ~/any_file.bin /dev/shm/

    In questo modo lo abbiamo appena spostato nella RAM..e non ci resta che testare l’evidente differenza di prestazioni.

    Se 1GB non fosse abbastanza, come dicevamo prima e’ possibile aumentare ad oltranza lo spazio dedicato:

    mount -o remount,size=4G /dev/shm

    Ma non finisce qui perche’ grazie al filesystem TMPFS abbiamo la possibilita’ di creare un dispositivo di “memoria” persistente.
    Mettiamo caso di voler creare un istanza (che puo’ allocare max 500MB) con accesso esteso (es. ad Apache) in:

    /var/www/www.miosito.com/cache

    I comandi sono:

    mkdir -p /var/www/www.miosito.com/cache
    mount -t tmpfs -o size=500M,mode=0744 tmpfs /var/www/www.miosito.com/cache

    L’esecuzione automatica sara’ in grado di funzionare grazie all’aggiunta nel file /etc/fstab:

    kdesudo kate /etc/fstab

    tmpfs /var/www/www.miosito.com/cache tmpfs size=500M,mode=0777 0 0

    L’inconveniente e’ che tmpfs non crea nessun file, e ad ogni riavvio la directory viene svuotata. E’ necessario ricorrere a script che fanno il restore del file o dell’applicazione, oppure utilizzare un tool come cron.

    Related Posts Plugin for WordPress, Blogger...

    Il tuo indirizzo ip:
    18.234.236.14

    Valutazione 3.00 su 5
    happy wheels 2 demo

    Category:

    Senza categoria

    Tags:

    Commenti via Facebook:

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    *

    2 Comments

    • ugaciaka ITALY Konqueror Ubuntu Linux 11 anni ago

      spettacolare! qualche tempo fa mi stavo chiedendo giusto se si potesse fare una cosa del genere, con unix in generale ho imparato questa cosa:
      non domandarti *se* puoi farlo ma *come* farlo!

        Quota

    • Ho applicato questa tecnica tempo fa su una macchina che già aveva ottimizzazioni di vario tipo (classico LAMP), ovvero autoloading, APC, cache ovunque possibile…
      Nonostante ciò sono praticamente raddoppiate le richieste/secondo da quando ho montato l’intera applicazione php su /ev/shm!
      Per assicurarmi che funzionasse tutto ho semplicemente fatto in modo che il server facesse un ‘svn checkout’ sulla nuova dir all’avvio… Et voilà! 😀

        Quota