IIS 로그 폴더에서 NTFS 압축을 사용하는 것이 좋습니다?


13

IIS 로그 폴더 및 파일에서 NTFS 압축을 사용하는 것이 좋습니다?

이 작업을 수행하여 20GB에서 7GB로 줄일 수있었습니다. IIS 로그는 하루 단위이며 평균 크기는 20MB이지만 극단적 인 날은 200MB입니다.

IIS가 메모리에서 전체 파일을 열어야하는지 궁금해서 NTFS가 매번 20MB (또는 극단적 인 경우 200MB)의 압축을 해제해야합니까? 아니면 IIS가 컨텐츠를 추가 할 수있게 해주는 마술이 있습니까? 시스템 영향은 무엇입니까? 트래픽을 늘리면 문제가 될 수 있습니까?

하루가 아닌 시간당 분할해야합니까?

이것에 대한 공식 Microsoft 논문? 하나를 찾을 수 없습니다.


2
로그를 장기간 유지 관리해야하는 경우 이동하지 않는 이유는 무엇입니까? 현재 날짜의 로그를 서버에 유지하고 나머지는 다른 곳으로 이동 / 보관하십시오. 어쨌든 로그를 사용하고 있습니까?
joeqwerty

1
이동 중 실패 할 수있는 다른 프로세스가 추가되고 있습니다. 나는 키스하려고했다.
Malartre 2019

답변:


10

에반은 이미 일반적인 대답을 했으므로 두 가지 하위 질문을 처리하고 싶습니다.

IIS는 X 분마다 로그를 플러시합니까?

IIS의 커널 모드 부분 인 http.sys는 로깅을 담당하며 로그 파일에 기록하기 전에 메모리의 데이터를 버퍼링합니다. 확실하지는 않지만 매 x 초마다 플러싱을한다고 생각하지 않습니다. 버퍼가 가득 차면 더 가능성이 큽니다.

한 줄을 추가 할 때 전체 파일을 읽어야합니까?

아니요, NTFS는 파일 업데이트를 자체 캐시에 쓴 다음 데이터를 비동기 적으로 압축하여 파일에 추가합니다. 압축 파일에 쓰는 것이 압축되지 않은 파일보다 크게 느리지 않습니다.

따라서 IIS 로그 파일에서 NTFS 압축을 사용하는 데 문제가 없어야합니다.

출처 :

IIS 7 Resource Kit, 15 장 : 로깅-Microsoft Press 2008

Windows Internals 6th Edition Part2, 12 장 : 파일 시스템 Microsoft Press 2012


내가 찾던 정답은 @ peter-hahndorf입니다!
Malartre

흥미롭게도 Microsoft 의이 기사 는 다른 방법을 권장합니다. 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.질문은 끊임없이 무엇입니까?
Zero3

1
@ Zero3 트랜잭션 로깅은 IIS 로그와 약간 다릅니다. 디스크에 기록되어 트랜잭션 변경 사항이 내구성을 갖추기 전까지는 프로그램 내부의 함수가 실제로 성공으로 반환되지 않으므로 응용 프로그램 성능은 트랜잭션 로그의 디스크 쓰기 속도와 직접 관련이 있습니다.
NReilingh

@NReilingh 당신이 옳을 수도 있습니다. 실제로 IIS가 해당 로그 파일에 동기화 / 비 동기화를하는지 알 수 없습니다. 어느 쪽이든, 기사가 제기하는 전반적인 요점은 (읽기 및 쓰기가 많은 사용자 폴더와 같은 다른 예제가 있음) 압축 된 폴더에 무거운 IO가 문제가 될 수 있다고 생각합니다.
Zero3

13

주로 Outlook Web Access / App 또는 저용량 웹 사이트를 호스팅하는 서버이지만 많은 IIS 서버에서 IIS 로그를 압축합니다. 나는 그것을하는 데 아무런 문제가 없으며 디스크 공간 절약과 매우 흡사합니다.

일반적으로이 결정을 통해 스토리지 용 CPU를 거래합니다. CPU를 처음부터 사용한다면 이것은 좋은 트레이드 오프가 아닐 것입니다. 하루에 기가 바이트의 로그를 늘릴 수있는 OWA 서버의 경우 (ActiveSync 장치 덕분에) 트레이드 오프가 좋은 것이라고 생각합니다.

NTFS 파일 시스템 드라이버는 압축을 처리하므로 IIS가 파일에 쓰는 방식을 변경하지 않습니다.

편집하다:

잠재적으로 일부 I / O 대역폭 및 IOPS도 균형을 유지해야합니다. 로그 쓰기가 I / O 리소스를 많이 소비 할만큼 볼륨이 크면 압축을 활성화하여 I / O 소비가 감소하는 것을 볼 수 있습니다.

이것이 당신에게 미치는 영향을 알 수있는 유일한 방법은 직접 벤치마킹하는 것입니다. 압축이 비활성화 된 상태에서 기준을 설정 한 다음 비교하십시오. 그것이 당신에게 어떤 영향을 미칠지 알기 위해 흔들릴 마술 지팡이는 없습니다.


1
ServerFault를 재생하는 대신 할 일이 없습니까? : p 어쨌든, +1. 나는 오랫동안 같은 일을했지만 그 결과로 문제가 있습니다.
HopelessN00b

이 답변은 일화적이고 재미 있지만 더 많은 사실을 찾고 있습니다. IIS 플러시가 X 분마다 로그를 기록하고 한 줄만 추가하기 위해 전체 파일을 읽어야하는 경우와 같은 세부 사항을보고 있습니다.
Malartre

@Malartre 정말 일화가 아닙니다. 언급 한 바와 같이 NTFS 파일 / 폴더 압축은 CPU 사이클을위한 디스크 공간과 메모리 사용량이 매우 적은 트레이드 오프입니다. 특정 환경에서 벤치마킹하고 실제 테스트를 수행하지 않고도 가능한 구체적이고 사실적입니다.
HopelessN00b
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.