IIS Günlük klasörlerinde NTFS Sıkıştırma kullanmak iyi bir uygulama mudur?


13

Bir IIS Günlüğü klasörlerinde ve dosyalarında NTFS Sıkıştırma kullanmak iyi bir uygulama mı?

Bunu yaparak 20GB'dan 7GB'a düşebildim. IIS günlükleri günlüktür ve ortalama boyutu 20 MB'dir, ancak bazı aşırı günlerde 200 MB vardır.

IIS'nin tüm dosyayı bellekte açması gerekip gerekmediğini merak ediyorum, NTFS'yi her seferinde 20MB (veya aşırı durumlarda 200MB) açmaya zorluyor mu? Yoksa IIS'nin içerik eklemesine izin veren bir sihir var mı? Sistemin etkisi nedir? Trafiğimizi büyütürsek sorun olabilir mi?

Onları günde yerine saat başına mı bölmeliyim?

Bununla ilgili resmi bir Microsoft makalesi var mı? Birini bulamadım.


2
Eğer günlükleri uzun süre korumanız gerekiyorsa, neden onları taşımasınız? Geçerli günlük kayıtlarını sunucuda saklayın ve geri kalanını başka bir yere taşıyın / arşivleyin. Günlükleri ne için kullanıyorsunuz?
joeqwerty

1
Taşıma işlemi başarısız olabilecek başka bir işlem eklemektir. Öpüşmeye çalışıyordum.
Malartre

Yanıtlar:


10

Evan zaten genel bir cevap verdiğinden, alt sorularınızdan ikisini ele almaktan hoşlanıyorum:

IIS günlükleri her X dakikada bir temizler mi?

http.sys, IIS'nin çekirdek modu bölümü günlükten sorumludur ve günlük dosyalarına yazmadan önce bellekteki verileri arabelleğe alır. Emin değilim ama her x saniyede bir yıkama yaptığını sanmıyorum.

Tek bir satır eklerken tüm dosyanın okunması gerekiyor mu?

Hayır, NTFS güncelleştirmeleri bir dosyaya kendi önbelleğine yazar ve ardından verileri eşzamansız olarak dosyaya sıkıştırır ve ekler. Sıkıştırılmış bir dosyaya yazmak, sıkıştırılmamış bir dosyadan çok daha yavaş değildir.

Bu nedenle, IIS günlük dosyalarında NTFS sıkıştırmasını kullanmayla ilgili bir sorun olmamalıdır.

Kaynaklar:

IIS 7 Kaynak Seti, Bölüm 15: Günlüğe Kaydetme - Microsoft Press 2008

Windows Internals 6. Sürüm Part2, Bölüm 12: Dosya Sistemleri Microsoft Press 2012


Tam olarak aradığım cevap, @ peter-hahndorf!
Malartre

İlginçtir, Microsoft'un bu makalesi aksini önermektedir: 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.Soru şu, sürekli tanımı nedir?
Zero3

1
@ Zero3 İşlem günlüğü, IIS günlüklerinden biraz farklıdır. Burada, işlem değişikliği diske yazılarak kalıcı hale getirilinceye kadar programınızdaki bir işlevin aslında başarılı bir şekilde geri dönmesine izin verilmeyecektir, bu nedenle uygulama performansı, işlem günlükleriniz için disk yazma hızınızla doğrudan ilişkilidir.
NReilingh

@NReilingh Haklı olabilirsiniz. Aslında IIS günlük dosyaları senkronize / zaman uyumsuz yazıp yazmadığını bilmiyorum. Her iki durumda da, makalenin gündeme getirdiği genel noktanın (içinde çok sayıda okuma ve yazma olan kullanıcı klasörleri gibi diğer örnekler vardır) ağır IO'nun sıkıştırılmış klasörlerle ilgili bir sorun olabileceğini düşünüyorum.
Zero3

13

IIS günlüklerimi, çoğunlukla Outlook Web Access / App veya düşük hacimli web sitelerini barındıran sunucular da dahil olmak üzere birçok IIS sunucusunda sıkıştırıyorum. Bunu yaparken hiçbir sorunum yok ve disk alanı tasarrufları gibi.

Genel olarak, bu kararı vererek CPU'yu depolama için alıyorsunuz. Başlamak için CPU'ya bağlıysanız, bu muhtemelen iyi bir çıkış değildir. Gigabayt günlükleri büyütebildiğim OWA sunucularım için (ActiveSync cihazları sayesinde), ödünleşmenin iyi olduğunu düşünüyorum.

NTFS dosya sistemi sürücüsü sıkıştırmayı işler, bu nedenle IIS'nin dosyalara yazma şeklini değiştirmez.

Düzenle:

Potansiyel olarak, bazı I / O bant genişliği ve IOPS da alıyorsunuz. Günlüklerinizin yazdığı G / Ç kaynaklarının kayda değer miktarda tüketilmesi için yeterince yüksek bir birimseniz, G / Ç tüketiminde sıkıştırmanın etkinleştirilmesinde de bir düşüş görebilirsiniz.

Bunun sizi nasıl etkilediğini söylemenin tek yolu, onu kendiniz karşılaştırmaktır. Sıkıştırma devre dışı bırakıldıktan sonra etkinleştirildiğinde bir temel alın ve bunları karşılaştırın. Sizi nasıl etkileyeceğini bilmek için dalgalanacak sihirli bir değnek yok - oyunda çok fazla belirleyici olmayan faktör var.


1
Beni birkaç saniye geçme ... ServerFault oynamak yerine yapacak işin yok mu? : p Her neyse, +1. Aynı şeyi çağlar boyunca yaptım ve bunun bir sonucu olarak hala bir sorunum var.
HopelessN00b

Bu cevap anekdot ve eğlenceli ama daha fazla gerçek arıyorum. IIS floş her X dakikada bir günlüğe kaydederse ve sadece bir satır eklemek için tüm dosyayı okuması gerekiyorsa, özelliklere bakıyorum.
Malartre

@Malartre Gerçekten anekdot değil. Belirtildiği gibi, NTFS dosya / klasör sıkıştırması, CPU döngüleri için (ve çok küçük bir bellek kullanımı artışı) bir takas alanıdır. Bu, kendi ortamınızda karşılaştırma ve gerçek testler yapmadan mümkün olduğu kadar kesin ve olgusaldır.
HopelessN00b
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.