Ist es empfehlenswert, die NTFS-Komprimierung für IIS-Protokollordner und -dateien zu verwenden?
Auf diese Weise konnte ich von 20 GB auf 7 GB herunterfahren. Die IIS-Protokolle sind pro Tag und haben eine durchschnittliche Größe von 20 MB, aber einige extreme Tage haben 200 MB.
Ich frage mich, ob IIS die gesamte Datei im Speicher öffnen muss, damit NTFS jedes Mal 20 MB (oder im Extremfall 200 MB) entpackt. Oder gibt es eine Art Magie, mit der IIS Inhalte anhängen kann? Wie wirkt sich das System aus? Könnte es ein Problem werden, wenn wir unseren Verkehr steigern?
Soll ich sie pro Stunde anstatt pro Tag aufteilen?
Gibt es ein offizielles Microsoft-Papier dazu? Ich konnte keinen finden.
iis
logging
ntfs
compression
Malartre
quelle
quelle
Antworten:
Da Evan bereits eine allgemeine Antwort gegeben hat, möchte ich zwei Ihrer Unterfragen beantworten:
Spült IIS die Protokolle alle X Minuten?
http.sys, der Kernelmodus-Teil von IIS ist für die Protokollierung verantwortlich und puffert die Daten im Speicher, bevor sie in die Protokolldateien geschrieben werden. Ich bin mir nicht sicher, aber ich glaube nicht, dass alle x Sekunden eine Spülung durchgeführt wird, wahrscheinlicher, nachdem der Puffer voll ist.
Muss die gesamte Datei gelesen werden, wenn eine einzelne Zeile hinzugefügt wird?
Nein, NTFS schreibt Aktualisierungen einer Datei in seinen eigenen Cache und komprimiert die Daten anschließend und hängt sie asynchron an die Datei an. Das Schreiben in eine komprimierte Datei ist nicht wesentlich langsamer als in eine nicht komprimierte Datei.
Es sollte also kein Problem mit der Verwendung der NTFS-Komprimierung für IIS-Protokolldateien geben.
Quellen:
IIS 7 Resource Kit, Kapitel 15: Protokollierung - Microsoft Press 2008
Windows Internals 6. Ausgabe Teil 2, Kapitel 12: Dateisysteme Microsoft Press 2012
quelle
If you run a program that uses transaction logging and that constantly writes to a database or log, configure the program to store its files on a volume that is not compressed. If a program modifies data through mapped sections in a compressed file, the program can produce "dirty" pages faster than the mapped writer can write them.
Frage ist, was ist die Definition von ständig ?Ich komprimiere meine IIS-Protokolle auf vielen IIS-Servern, allerdings hauptsächlich auf Servern, auf denen Outlook Web Access / App oder Websites mit geringem Volumen gehostet werden. Ich habe keine Probleme damit und mag die Speicherplatzersparnis.
Im Allgemeinen tauschen Sie die CPU gegen Speicher aus, indem Sie diese Entscheidung treffen. Wenn Sie anfangs CPU-gebunden sind, ist dies wahrscheinlich kein guter Kompromiss. Für meine OWA-Server, die täglich Gigabyte an Protokollen erstellen können (dank ActiveSync-Geräten), halte ich den Kompromiss für gut.
Der NTFS-Dateisystemtreiber verwaltet die Komprimierung, sodass nicht geändert wird, wie IIS in die Dateien schreibt.
Bearbeiten:
Möglicherweise werden auch einige E / A-Bandbreiten und IOPS gegeneinander abgewogen. Wenn das Volumen so hoch ist, dass Ihre Protokollschreibvorgänge einen erheblichen Verbrauch an E / A-Ressourcen bedeuten, kann es zu einem Rückgang des E / A-Verbrauchs kommen, wenn auch die Komprimierung aktiviert wird.
Der einzige Weg, wie sich dies auf Sie auswirkt, ist das Benchmarking selbst. Nehmen Sie eine Baseline mit deaktivierter und aktivierter Komprimierung und vergleichen Sie sie. Es gibt keinen Zauberstab zum Winken, um zu wissen, wie er sich auf Sie auswirkt - es gibt einfach zu viele nicht deterministische Faktoren im Spiel.
quelle