Có tốt không khi sử dụng Nén NTFS trên các thư mục Nhật ký IIS?


13

Có phải là một cách thực hành tốt để sử dụng Nén NTFS trên các tệp và thư mục IIS Log không?

Tôi đã có thể giảm từ 20 GB xuống còn 7 GB bằng cách này. Nhật ký IIS là mỗi ngày và có kích thước trung bình là 20MB nhưng một số ngày cực đoan có 200 MB.

Tôi đang tự hỏi liệu IIS có phải mở toàn bộ tệp trong bộ nhớ hay không, buộc NTFS phải giải nén 20MB (hoặc 200 MB trong trường hợp cực đoan) mỗi lần? Hoặc có một số phép thuật cho phép IIS nối thêm nội dung? Hệ thống có tác động gì? Nó có thể trở thành một vấn đề nếu chúng ta tăng lưu lượng truy cập của chúng tôi?

Tôi có nên chia chúng mỗi giờ thay vì mỗi ngày?

Bất kỳ bài báo chính thức của Microsoft về điều này? Tôi không thể xác định vị trí một.


2
Nếu bạn cần duy trì các bản ghi dài hạn tại sao không di chuyển chúng? Giữ nhật ký của ngày hiện tại trên máy chủ và di chuyển / lưu trữ phần còn lại ở nơi khác. Bạn đang sử dụng nhật ký để làm gì?
joeqwerty

1
Di chuyển là thêm một quá trình có thể thất bại. Tôi đã cố gắng HỎI.
Malartre

Câu trả lời:


10

Vì Evan đã đưa ra câu trả lời chung chung, tôi muốn giải quyết hai câu hỏi phụ của bạn:

IIS có xóa các bản ghi mỗi X phút không?

http.sys, phần chế độ nhân của IIS chịu trách nhiệm ghi nhật ký và nó đệm dữ liệu trong bộ nhớ trước khi ghi vào tệp nhật ký. Tôi không chắc chắn nhưng tôi không nghĩ rằng nó cứ xả sau mỗi x giây, nhiều khả năng sau khi bộ đệm của nó đã đầy.

Có phải toàn bộ tập tin cần phải đọc khi thêm một dòng không?

Không, NTFS ghi các bản cập nhật vào một tệp vào bộ đệm của chính nó, sau đó nén và nối dữ liệu không đồng bộ vào tệp. Ghi vào tệp nén không chậm hơn đáng kể so với tệp không nén.

Vì vậy, không có vấn đề gì với việc sử dụng nén NTFS trên các tệp nhật ký IIS.

Nguồn:

Bộ tài nguyên IIS 7, Chương 15: Ghi nhật ký - Microsoft Press 2008

Windows Internals Phiên bản thứ 6 Phần 2, Chương 12: Hệ thống tệp Microsoft Press 2012


Chính xác câu trả lời tôi đang tìm kiếm, @ peter-hahndorf!
Malartre

Thật thú vị, bài viết này của Microsoft khuyến cáo khác: 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.Câu hỏi là, định nghĩa của liên tục là gì?
Zero3

1
@ Zero3 Ghi nhật ký giao dịch là một cái gì đó hơi khác so với nhật ký IIS. Đó sẽ là nơi một chức năng bên trong chương trình của bạn thực sự không được phép quay lại thành công cho đến khi thay đổi giao dịch được thực hiện bền vững bằng cách ghi vào đĩa, do đó hiệu suất ứng dụng liên quan trực tiếp đến tốc độ ghi đĩa của bạn cho nhật ký giao dịch.
NRzingh

@NRzingh Bạn có thể đúng. Tôi thực sự không biết liệu IIS có ghi đồng bộ hóa / async tệp của nó không. Dù bằng cách nào, tôi nghĩ rằng điểm chung mà bài viết nêu ra (có những ví dụ khác trong đó, như thư mục người dùng có nhiều đọc và ghi) là IO nặng có thể là một vấn đề với các thư mục nén.
Zero3

13

Tôi nén nhật ký IIS của mình trên nhiều máy chủ IIS, mặc dù chủ yếu là các máy chủ đang lưu trữ Outlook Web Access / App hoặc các trang web khối lượng thấp. Tôi không có vấn đề gì khi làm điều đó, và khá thích tiết kiệm dung lượng đĩa.

Nói chung, bạn đang giao dịch CPU để lưu trữ bằng cách đưa ra quyết định này. Nếu bạn bị ràng buộc CPU để bắt đầu thì đây có lẽ không phải là một sự đánh đổi tốt. Đối với các máy chủ OWA của tôi, có thể tăng hàng gigabyte nhật ký mỗi ngày (cảm ơn các thiết bị ActiveSync) Tôi nghĩ rằng sự đánh đổi là một điều tốt.

Trình điều khiển hệ thống tệp NTFS xử lý việc nén, do đó, nó không thay đổi cách IIS ghi vào các tệp.

Biên tập:

Bạn cũng có khả năng cũng đang trao đổi một số băng thông I / O và IOPS. Nếu bạn có khối lượng đủ lớn để ghi nhật ký của bạn là mức tiêu thụ đáng kể tài nguyên I / O, bạn cũng có thể thấy mức giảm tiêu thụ I / O từ việc bật nén.

Cách duy nhất bạn sẽ nói làm thế nào điều này tác động đến bạn là tự chuẩn hóa nó. Lấy một đường cơ sở với nén bị vô hiệu hóa và sau đó kích hoạt và so sánh chúng. Không có cây đũa thần để vẫy tay để biết nó sẽ tác động đến bạn như thế nào - chỉ có quá nhiều yếu tố không mang tính quyết định trong trò chơi.


1
Hãy đánh bại tôi trong vài giây ... bạn không có việc phải làm, thay vì chơi ServerFault? : p Dù sao, +1. Tôi đã làm điều tương tự trong nhiều năm và vẫn chưa có vấn đề gì.
HoplessN00b

Câu trả lời này là giai thoại và thú vị nhưng tôi đang tìm kiếm thêm sự thật. Tôi đang xem chi tiết cụ thể, như nếu IIS tuôn ra mỗi X phút và nếu nó cần đọc toàn bộ tệp chỉ để thêm một dòng.
Malartre

@Malartre Đó không phải là giai thoại, thực sự. Như đã đề cập, nén tệp / thư mục NTFS là một sự đánh đổi - không gian đĩa cho chu kỳ CPU (và tăng sử dụng bộ nhớ rất nhỏ). Đó là về cụ thể và thực tế nhất có thể mà không cần thực hiện kiểm tra điểm chuẩn và chạy thử nghiệm thực tế trên môi trường cụ thể của bạn.
HoplessN00b
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.