IIS7 에서 업로드 파일 사이즈 제한 변경하기

In the Hood 2010.04.29 11:47

잘 운영되던 웹사이트를 Windows Server 2008환경으로 포팅을 하는 상황이라고 가정해 봅시다.
그런데 잘 되던 파일 업로드 기능이 제대로 작동을 안하는 겁니다.
열심히 테스트를 해보니 약 30MB 이하의 파일들은 잘 올라가는데,
그 이상의 파일들은 자꾸 에러가 나는 겁니다.

이건 왜???

IIS7의 업로드 파일 사이즈 제한이 기본 30MB이기 때문이랍니다.

업로드 파일 사이즈 제한을 변경하려면 web.config에서 web.Server 엘리먼트 부분을
아래와 같이 합니다.




	
		
			
		
	

 

maxAllowedContentLength의 단위는 byte입니다.
따라서 위의 예제에서는 2기가 약간 못미치는 용량이 업로드 가능해집니다.


설정

트랙백

댓글

  • BlogIcon majumawm 2010.04.29 18:17 신고 ADDR 수정/삭제 답글

    "2000000000"이란 수치가 파일 사이즈인가요? 몇메가가 업로드 가능하게 된건지 설명도 좀 해주실수 있으신지?

    • BlogIcon 길버트 2010.04.30 00:41 신고 수정/삭제

      아 그 내용을 빼먹었군요.
      지적해 주셔서 감사합니다.
      포스트 내용을 업데이트 하였습니다.

  • BlogIcon spike 2010.04.30 01:07 신고 ADDR 수정/삭제 답글

    업로드 파일 사이즈를 크게 늘리게 되면 필연적으로 웹서버 리소스 점유율이 올라가게 됩니다.
    위와 같이 2GB를 허용하고 웹서버 물리 메모리가 4기가라고 가정하면 업로드 중인 파일이 웹서버의 물리 메모리 2GB를 통째로 차지하고 있다가 업로드 완료 시점에서야 메모리 반환이 이뤄집니다.
    2GB파일 두개를 동시에 올리면 웹서버 사망할 수도 있어요~ ㅎㅎ

    • BlogIcon 길버트 2010.04.30 11:10 신고 수정/삭제

      맞습니다. 위의 용량은 예제입니다.
      적당한 청크(Chunk)로 분할하여 올리는 것이
      모범적인 솔루션이죠.

      하지만 상황에 따라서는 2기가를 쓸 수도 있어요.
      실례로 사내에서 사용하는 서버가 32기가 메모리를
      탑재하고 있는데 너무 놀고 있네요. ^^

  • BlogIcon spike 2010.04.30 13:33 신고 ADDR 수정/삭제 답글

    맞습니다 ^^
    http timeout 문제를 해결하고 가용 메모리가 허용한다면 그 방법도 좋겠지요.
    근데 사내 서버 메모리가 32기가라면 이건... 진리! ㅎㅎ