Hallo,
Ich habe ein administratives Unterverzeichnis meines gehosteten Verzeichnisses (Apache) mit .htaccess geschützt. Nun wird mir gesagt, dass ich damit den Apache deutlich bremsen würde, da diese .htaccess-Datei jede Menge I/O auf dem Server produziert (muss ja dauernd gelesen werden).
Die grundsätzliche Aussage, dass .htaccess langsamer ist, als direkte Serverkonfiguration, ist erst einmal richtig:
Wenn .htaccess aktiviert ist, muss in jedem Verzeichnis nachgesehen werden, ob's dort eine .htaccess gibt und die muss dann eingelesen werden. Dann muss der Inhalt verarbeitet werden und dann erst kann sich der Apache um das nächste Verzeichnis kümmern (bis man halt beim tiefsten Verzeichnis ist).
Das gibt 2 Stellen, an denen Zeit verbraten wird:
1. Nachsehen ob eine .htaccess überhaupt vorhanden ist.
2. Eine vorhandene .htaccess verarbeiten.
Punkt 1 wirst Du aber alleine durch Deaktivieren der .htaccess-Funktionalität (AllowOverride None) nicht los, denn jedes Verzeichnis wird IMMER angesehen wegen Symlinks *AUSSER* FollowSymLinks ist als Option gesetzt, was aber aus Sicherheitsgründen nicht unbedingt zu empfehlen ist, außer man benötigt es wirklich (normalerweise reicht SymLinksIfOwnerMatch). Den Overhead wirst Du also in der Regel nicht los. Bleibt das Verarbeiten der .htaccess. Zum einen: Wenn die Seite häufig aufgerufen wird, werden die .htaccess-Dateien natürlich vom Betriebssystem automatisch im Speicher gehalten. Das heißt: Die Festplatte muss (wenn der Server genug RAM hat, was idR. aber der Fall ist) nicht zusätzlich arbeiten. Bleibt im Endeffekt das Parsen der .htaccess übrig, was Dich Performance kostet.
Die Frage ist nun: Wie viel macht das aus?
Wir bei SELFHTML verwenden an verschiedenen Stellen der Bequemlichkeit halber .htaccess-Dateien und nutzen da NICHT die zentrale Serverkonfiguration. Auch bei "de.selfhtml.org", der ca. 1,5 Mio Anfragen pro Tag erhält. Dennoch haben wir keinerlei Performanceprobleme auf Grund von .htaccess - man merkt das bei uns gar nicht.
Nach meiner Erfahrung als Administrator hier sind die wahren Performancekiller schlecht geschriebene Webapplikationen, sprich: Dynamische Inhalte. Ein bisschen .htaccess-Rumparsen vom Webserver ist irrelevant im Vergleich zur Zeit, die bei dynamisch generierten Inhalten draufgeht.
Daher, meine persönliche Erfahrung: Verwende guten Gewissens weiter .htaccess, bevor Dir der Webserver deswegen um die Ohren fliegt, ist er Dir 100x wegen dynamischen Inhalten um die Ohren geflogen.
Viele Grüße,
Christian