성능 향상을 위해 machine.config 설정을 조정하는 방법

ASP.Net에서 구성 파일의 설정을 조정하면 성능이 향상 될 수 있습니다. 이러한 파일에는 machine.config 및 web.config가 포함됩니다.

web.config 파일은 응용 프로그램별로 다르며 Visual Studio에서 웹 응용 프로그램 또는 웹 사이트를 만들 때 기본적으로 만들어집니다. aspnet.config라는 다른 구성 파일이 있습니다. ASP.Net 2.0부터 사용할 수 있습니다. 이 파일은 시스템의 .Net Framework 폴더 루트에 있습니다. 한편 컴퓨터 구성 파일의 이름은 machine.config이며 % runtime 설치 경로 % \ Config 디렉터리에 있습니다.

web.config 파일의 설정은 응용 프로그램에만 적용되지만 machine.config 파일에있는 설정은 시스템 전체에 적용됩니다. machine.config 파일은 시스템에 .Net Framework를 설치할 때 설치됩니다. 시스템에 하나의 machine.config 파일 만있을 수 있으며 (시스템 당 하나만) \ WINDOWS \ Microsoft.Net \ Framework \ vXXXX \ CONFIG 디렉터리에 있습니다.

machine.config 파일에 정의 된 설정은 응용 프로그램의 web.config 파일에 정의 된 설정으로 재정의된다는 점에 유의해야합니다. 응용 프로그램에는 여러 web.config 파일이있을 수 있습니다. 덧붙여서 web.config 파일은 machine.config에 정의 된 설정을 상속합니다.

권장 machine.config 설정

이 섹션에서는 성능 향상을 위해 machine.config 파일에 적용 할 수있는 설정을 살펴 봅니다. 각 설정에 대해 기본값 및 권장 값이 지정되어 있습니다.

최대 연결

machine.config 파일에서 system.Net 설정을 조정하여 애플리케이션에서 더 많은 동시 요청을 처리 할 수 ​​있습니다. 기본값은 2이고 권장 값은 CPU 당 12입니다.

   

       

   

다음은 성능 향상을 위해 machine.config 파일의 프로세스 모델 섹션에 권장되는 설정입니다. machine.config 파일에서 프로세스 모델의 설정을 조정하여 작업자 스레드, I / O 스레드 등을 제어 할 수 있습니다. 스레드는 프로세스 내에서 가장 작은 실행 단위입니다.

memoryLimit

이 설정은 프로세스가 사용할 전체 시스템 메모리의 백분율을 지정하는 데 사용됩니다. 기본값은 40입니다.이 설정에 권장되는 값은 여러 요인에 따라 다릅니다. 이러한 고려 사항에는 다음이 포함되지만 이에 국한되지는 않습니다.

  • 응용 프로그램이 격리 된 상자에 설치된 경우
  • 응용 프로그램에서 메모리 누수 발생

maxWorkerThreads

이 설정은 지정된 시점에 스레드 풀에서 사용할 수있는 작업자 스레드의 최대 수를 정의하는 데 사용됩니다. 스레드 풀은 여러 스레드 또는 정확한 스레드 모음으로 구성되며 백그라운드에서 여러 작업을 수행하는 데 사용할 수 있습니다. MSDN은 "스레드 풀은 응용 프로그램을 대신하여 비동기 콜백을 효율적으로 실행하는 작업자 스레드 모음입니다. 스레드 풀은 주로 응용 프로그램 스레드 수를 줄이고 작업자 스레드 관리를 제공하는 데 사용됩니다."

maxWorkerThreads의 기본값은 CPU 당 20이고 권장 값은 100입니다.

minWorkerThreads

이 설정은 들어오는 요청을 충족시키기 위해 스레드 풀에서 사용할 수있는 작업자 스레드의 최소 수를 결정합니다. 기본값은 1이고 권장 값은 maxWorkerThreads / 2입니다. 따라서 machine.config 파일에서 maxWorkerThreads를 100으로 정의한 경우 minWorkerThreads로 50을 지정해야합니다.

maxIOThreads

이 설정은 입력 출력 (I / O) 작업을 수행하기 위해 할당되는 최대 스레드 수를 정의하는 데 사용됩니다. 이러한 작업에는 데이터베이스 작업, 웹 서비스 호출, 파일 시스템 액세스 등이 포함됩니다. 기본값은 CPU 당 20이고 값은 100이 권장됩니다.

minIOThreads

특정 시점에 스레드 풀에서 사용할 수있는 최소 I / O 스레드 수를 정의하는 데 사용됩니다. 기본값은 1이고 권장 값은 maxIOThreads / 2입니다. 따라서 machine.config 파일에서 maxIOThreads를 100으로 정의한 경우 50을 minIOThreads로 언급해야합니다.

모두 모아

이제 이러한 설정을 모두 적용 해 보겠습니다. 다음 코드 목록은 문서 앞부분에서 설명한 권장 설정을 기반으로하는 machine.config 파일의 일반적인 설정을 보여줍니다.

 

        

            

        

    

    

        

             maxWorkerThreads = "100"

             maxIoThreads = "100"

             minWorkerThreads = "50"

             minIoThreads = "50"

         />