Wer den Luxus hat, und einen eigenen Apache sein eigen nennt, hat die Möglichkeit mit aktivierten file_cache statischen content bereits beim Server start in den Speicher zu laden und ihn von dort auszuliefern. Das reduziert langsamere Filezugriffe und erhöht damit die Geschwindigkeit, mit denen die Webseite ausgeliefert wird. Klar, das ist ein wenig „Brechstangen“-Methodik um die Auslieferung zu beschleunigen, weil man sich vielleicht schon beim Inhalt gedanken darüber machen sollte, wie gross Files werden usw. Aber anyway, eine von vielen Möglichkeiten die man machen kann, aber nicht muss 😉

 

Ein einfaches Beispiel

Ich habe das ganze für meine „Profil“-Seite gemacht, und da der Inhalt dort praktisch nie ändert, cache ich einfach mal riguros alles:

  1. Entsprechendes Apache-Modul mittels a2enmod file_cache aktiviert
  2. Die Virtual-Server Konfiguration entsprechend mit den mmapfile-Einträgen angepasst:

 

<VirtualHost *:80>
DocumentRoot /var/www/philippjauss.gate107.com
ServerName www.philippjauss.gate107.com
ServerAlias pj.gate107.com philippjauss.gate107.com

mmapfile /var/www/philippjauss.gate107.com/BingSiteAuth.xml
mmapfile /var/www/philippjauss.gate107.com/sitemap.xml
mmapfile /var/www/philippjauss.gate107.com/robots.txt
mmapfile /var/www/philippjauss.gate107.com/favicon.ico
mmapfile /var/www/philippjauss.gate107.com/cv.html
mmapfile /var/www/philippjauss.gate107.com/uebermich.html
mmapfile /var/www/philippjauss.gate107.com/img/bg.png
mmapfile /var/www/philippjauss.gate107.com/img/4198.png
mmapfile /var/www/philippjauss.gate107.com/img/Thumbs.db
mmapfile /var/www/philippjauss.gate107.com/img/HP_4251.jpg
mmapfile /var/www/philippjauss.gate107.com/img/4251.png
mmapfile /var/www/philippjauss.gate107.com/img/HP_4096.png
mmapfile /var/www/philippjauss.gate107.com/img/4239.png
mmapfile /var/www/philippjauss.gate107.com/img/home.png
mmapfile /var/www/philippjauss.gate107.com/img/4221.png
mmapfile /var/www/philippjauss.gate107.com/img/home2.jpg
mmapfile /var/www/philippjauss.gate107.com/img/twitter-bird-white-on-blue.png
mmapfile /var/www/philippjauss.gate107.com/img/cyberdinessymbol.png
mmapfile /var/www/philippjauss.gate107.com/img/HP_4239.png
mmapfile /var/www/philippjauss.gate107.com/img/PDF-Icon.png
mmapfile /var/www/philippjauss.gate107.com/img/HP_4239.jpg
mmapfile /var/www/philippjauss.gate107.com/img/HP_4052.jpg
mmapfile /var/www/philippjauss.gate107.com/img/HP_4198.jpg
mmapfile /var/www/philippjauss.gate107.com/img/HP_4251.png
mmapfile /var/www/philippjauss.gate107.com/img/HP_4052.png
mmapfile /var/www/philippjauss.gate107.com/img/4052.png
mmapfile /var/www/philippjauss.gate107.com/img/HP_4096.jpg
mmapfile /var/www/philippjauss.gate107.com/img/HP_4198.png
mmapfile /var/www/philippjauss.gate107.com/img/Red-signin-Small-base-44dp.png
mmapfile /var/www/philippjauss.gate107.com/img/4096.png
mmapfile /var/www/philippjauss.gate107.com/index.html
mmapfile /var/www/philippjauss.gate107.com/css/normalize.min.css
mmapfile /var/www/philippjauss.gate107.com/css/foundation.css
mmapfile /var/www/philippjauss.gate107.com/css/normalize.css
mmapfile /var/www/philippjauss.gate107.com/css/foundation.css
mmapfile /var/www/philippjauss.gate107.com/css/normalize.css
mmapfile /var/www/philippjauss.gate107.com/css/foundation.min.css
mmapfile /var/www/philippjauss.gate107.com/customjs/site.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation.min.js
mmapfile /var/www/philippjauss.gate107.com/js/responsiveslides.min.js
mmapfile /var/www/philippjauss.gate107.com/js/vendor/modernizr.js
mmapfile /var/www/philippjauss.gate107.com/js/vendor/fastclick.js
mmapfile /var/www/philippjauss.gate107.com/js/vendor/jquery.js
mmapfile /var/www/philippjauss.gate107.com/js/vendor/jquery.cookie.js
mmapfile /var/www/philippjauss.gate107.com/js/vendor/placeholder.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.orbit.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.alert.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.tooltip.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.clearing.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.equalizer.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.magellan.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.reveal.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.joyride.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.interchange.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.offcanvas.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.dropdown.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.abide.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.accordion.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.topbar.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.tab.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.js
mmapfile /var/www/philippjauss.gate107.com/js/foundation/foundation.slider.js
mmapfile /var/www/philippjauss.gate107.com/js/responsiveslides.js
mmapfile /var/www/philippjauss.gate107.com/cv.pdf
mmapfile /var/www/philippjauss.gate107.com/customcss/site.css
mmapfile /var/www/philippjauss.gate107.com/kontakt.html
mmapfile /var/www/philippjauss.gate107.com/.htaccess
<Directory „/var/www/philippjauss.gate107.com“>
AllowOverride All
allow from all
Options +Indexes
</Directory>
</VirtualHost>

Der Haken an der Geschichte

Änderungen an Files werden erst beim nächsten Neustart wirksam. Daher macht das ganze natürlich auch nur bei wirklich statischen files sind, die sich praktisch nie ändern. Und sollte man trotzdem Änderungen haben, muss man in Kauf nehmen, dass man Apache neu starten muss. Aber hey. wie oft ändert man zum Beispiel das site-icon, das Firmenlogo, die css Definitionen oder seine javascripts die man ausliefert ?

Bei entsprechend vielen und grossen Ressourcen, die man so im Speicher cached, kann man so natürlich auch die Speicher-Ressourcen des Servers auffressen (also bei vielen und grossen Files und vielen apache Prozessen aufgepasst!!).

 

Schlussendlich muss man es für sich selbst abwägen.

 

 

Quellen:

http://httpd.apache.org/docs/2.4/mod/mod_file_cache.html

http://httpd.apache.org/docs/2.4/caching.html

https://www.digitalocean.com/community/tutorials/how-to-configure-apache-content-caching-on-ubuntu-14-04