웹 서버 성능 튜닝(Office SharePoint Server)
업데이트 날짜: 2009년 4월
적용 대상: Office SharePoint Server 2007
마지막으로 수정된 항목: 2009-12-01
이 문서의 내용
아키텍처
조정
이 문서에서 제공하는 물리적 아키텍처 및 조정에 대한 권장 사항을 사용하여 웹 서버 성능을 향상시킬 수 있습니다.
아키텍처
이 섹션에는 Microsoft Office SharePoint Server 2007 팜의 웹 서버에 대한 구성, 토폴로지 및 고려할 기타 측면에 대한 정보가 나와 있습니다.
웹 서버로 64비트 서버 사용
업무상 중요한 이유가 있는 경우가 아니면 64비트 운영 체제의 64비트 Office SharePoint Server 2007에 웹 서버를 설치하는 것이 좋습니다.
신중한 32비트 서버 구성
32비트 웹 서버를 실행해야 하는 경우에는 다음 권장 사항을 따르십시오.
32비트 시스템에 /3gb 스위치를 사용하지 마십시오. 32비트 웹 서버를 실행하는 경우에는 Windows Server 2003에서 /3gb 스위치를 사용하여 모든 사용자 모드 프로세스에 대해 2GB의 가상 주소 공간을 3GB로 변경하지 않는 것이 좋습니다. 대부분의 SharePoint 사이트 트래픽에서는 운영 체제를 통해 많은 양의 데이터를 보내므로 /3gb 스위치는 사용하지 않는 것이 좋습니다. 운영 체제에 대해 주소 공간을 1GB만 남겨 두면 컴퓨터가 불안정해질 수 있습니다. 자세한 내용은 내용은 Microsoft 기술 자료 문서 Windows SharePoint Services 2.0 이상 버전 또는 SharePoint Portal Server 2003 SP2 이상 버전에서 Windows Server 2003 /3GB 스위치가 지원되지 않음(https://go.microsoft.com/fwlink/?linkid=105919&clcid=0x412)를 참조하십시오.
32비트 서버와 64비트 서버를 함께 사용하면 부하 분산에 영향을 줄 수 있습니다. 환경에서 일부 웹 서버는 32비트 버전 Office SharePoint Server 2007을 실행하고, 다른 일부 웹 서버는 64비트 버전을 실행하는 경우가 있습니다. 이 경우 네트워크 부하 분산에서 라운드 로빈 등의 인텔리전스 수준이 낮은 모델을 사용하도록 구성하면 32비트 버전이 오버로드될 수 있습니다. 부하 분산은 부하를 기반으로 배포를 관리하도록 구성하는 것이 좋습니다.
또한 32비트 서버와 64비트 서버를 모두 배포하면 팜의 유지 관리 오버헤드가 증가합니다. 이는 두 아키텍처에 대한 타사 응용 프로그램, 사용자 지정 솔루션, 패치 및 소프트웨어 업데이트를 각기 독립적으로 추적 및 관리해야 하기 때문입니다.
웹 가든 사용 금지
웹 가든은 여러 작업자 프로세스를 통해 지원되는 IIS(인터넷 정보 서비스) 응용 프로그램 풀입니다. 엔터프라이즈 콘텐츠 관리 사이트에 웹 가든을 사용하지 않는 것이 좋습니다. 웹 가든은 페이지 출력 캐싱에 부정적인 영향을 주기 때문입니다.
활성 워크플로가 많은 시스템에 추가로 필요한 리소스 고려
활성 워크플로 인스턴스가 많은 시스템에서는 SQL Server 2005를 실행하는 컴퓨터에 RAM, 웹 서버, 리소스 등을 더 추가할 수 있습니다.
최종 사용자에게 표시되지 않은 서비스에 전용 웹 서버 사용
전용 웹 서버는 최종 사용자에게 표시되는 부하 분산에 연결되지 않은 웹 서버입니다. 다음과 같이 많은 비용이 필요한 서비스는 전용 웹 서버에서 실행하는 것이 좋습니다.
검색 인덱싱
중앙 관리
프로필
Excel 서비스
필요한 기능만 설정
Office SharePoint Server 2007은 다양한 기능을 제공합니다. 사용자에게 필요한 기능만 설정해 두면 리소스를 보다 효율적으로 사용할 수 있습니다. 기능을 해제하는 방법에 대한 자세한 내용은 기능 사용 (영문)(https://go.microsoft.com/fwlink/?linkid=105337&clcid=0x412)을 참조하십시오.
사용량이 많은 팜에 Kerberos 인증 사용
지정된 시간 단위에 많은 수의 요청을 처리하는 팜의 경우 Kerberos 인증을 사용하면 다른 비즈니스 요구를 충족할 수 있습니다. Kerberos 인증은 캐싱을 사용하므로 인증 요청 결과를 빠르게 반환할 수 있습니다.
참고
Windows Server 2003의 도메인 구성원에서 리소스를 많이 사용하는 서버 응용 프로그램을 실행할 때 사용자 인증 프로세스가 지연되는 경우가 있습니다. 자세한 내용은 기술 자료 문서 906736: Windows 2000 또는 Windows Server 2003의 도메인 구성원에서 용량이 큰 서버 프로그램을 실행할 때 사용자 인증 프로세스가 지연된다(https://support.microsoft.com/default.aspx?scid=kb;ko-kr;906736)를 참조하십시오.
조정
이 섹션에는 기존 Office SharePoint Server 2007 팜을 최적화하기 위한 구성, 최종 사용자 교육, 유지 관리 및 기타 권장 사항에 대한 정보가 나와 있습니다.
SQL Server 성능 모니터링
데이터베이스에 대한 부하로 인해 웹 서버에 부하가 발생할 수 있기 때문에 전체적으로 성능 및 용량을 모니터링하는 것이 좋습니다. 예를 들어 SQL Server가 실행되고 있는 서버에서 웹 서버의 요청에 응답하는 데 더 많은 시간이 걸리고 웹 서버에서 일반적인 속도로 최종 사용자의 요청을 수신하는 경우 웹 서버에서 요청이 대기하게 됩니다. 이러한 동작으로 인해 웹 서버의 성능이 낮은 것으로 생각할 수도 있지만 실제로는 데이터베이스 서버와 관련된 문제입니다.
UNRESOLVED_TOKEN_VAL(2nd_Search)의 경우 SQL Server 인덱스 조각화를 모니터링하고 다음 Microsoft 기술 자료 문서: Windows SharePoint Services 3.0 데이터베이스 및 SharePoint Server 2007 데이터베이스를 조각 모음하는 방법(https://go.microsoft.com/fwlink/?linkid=105588&clcid=0x412)에 나와 있는 SharePoint 제품 및 기술에 대한 SQL Server 조각 모음 지침을 따릅니다. 이렇게 하면 검색 시간을 크게 줄일 수 있습니다.
ASP.NET # Induced GC 카운터 핫픽스 적용
Office SharePoint Server 2007과 같이 Microsoft .NET Framework 버전 2.0에 구축된 Microsoft ASP .NET 2.0 웹 응용 프로그램을 실행하는 경우 # Induced GC 성능 카운터 값이 매우 빠르게 증가합니다. 게다가 CPU 사용량은 높아지며 컴퓨터 성능은 저하됩니다. 이 문제를 해결하려면 다음 기술 자료 문서: FIX: .NET Framework 2.0에 구축된 ASP .NET 2.0 웹 응용 프로그램을 실행할 때 # Induced GC 성능 카운터 값이 빠르게 증가하고 CPU 사용량이 높아진다(https://go.microsoft.com/fwlink/?linkid=105921&clcid=0x412)에서 사용할 수 있는 핫픽스를 적용하십시오.
가용성을 높일 수 있도록 응용 프로그램 풀 재생 설정 구성
이 섹션의 지침에 따라 응용 프로그램 풀의 가용성을 향상시킬 수 있도록 조정합니다.
팜에 웹 서버가 여러 개 있는 경우 응용 프로그램 풀이 각 웹 서버에서 다른 시간에 재생되도록 설정되었는지 확인해야 합니다.
IIS 웹 사이트를 다른 시간에 재생하여 팜의 모든 웹 서버에 걸쳐 부하를 분산시킵니다. 특정 웹 사이트에서 둘 이상의 응용 프로그램 풀을 같은 시간에 재생해야 하는 경우 부하 분산에서 해당 웹 서버를 일시적으로 제거하여 재생 프로세스 중 성능이 저하되지 않도록 해야 합니다.
32비트 서버의 응용 프로그램 풀 재생을 계획하는 경우 각 응용 프로그램 풀에서 사용하는 메모리 양을 고려하고 사용된 메모리의 양을 기반으로 재생 횟수를 수정합니다. 메모리를 적게 사용하는 응용 프로그램 풀은 메모리를 더 많이 사용하는 응용 프로그램 풀보다 재생 횟수가 적어야 합니다.
64비트 서버의 메모리를 관리하는 것이 32비트 서버의 메모리를 관리하는 것보다 효율적입니다. 그러나 64비트 서버의 응용 프로그램 풀 재생을 밤에 수행하도록 일정을 계획하는 것이 좋습니다. 이렇게 하면 조각화로 발생할 수 있는 문제가 감소합니다.
응용 프로그램 풀 재생에 대한 자세한 내용은 겹친 재생 및 SharePoint: 64비트 설정이란?(https://go.microsoft.com/fwlink/?linkid=127018&clcid=0x412)을 참조하십시오.
32비트 작업자 프로세스 재생 모니터링 및 관리
기본적으로 각각의 32비트 Windows 사용자 모드 프로세스에는 2GB의 가상 주소 공간이 할당되어 있습니다. 이 주소 공간 중 일부는 동적 할당에 사용되도록 사용하지 않은 상태로 유지되어야 합니다. 또한 Office SharePoint Server의 일부 작업에는 동적 할당을 수행하기 위한 대용량 연속 주소 공간 블록이 필요합니다. 프로세스를 오래 실행할수록 조각화된 주소 공간이 많아집니다. 이 때문에 Office SharePoint Server 작업자 프로세스의 크기가 1.2GB에서 1.4GB로 초과하며 프로세스에서 메모리 부족 오류 및 기타 예외 이벤트가 발생합니다. 프로세스에서 주소 공간을 계속 사용하면 오류가 더욱 심각해져서 결국 IIS에 의해 종료됩니다.
중요
일반적으로 64비트 환경에서 실행하는 경우 프로세스 재생 기본값으로만 설정해도 충분합니다. 따라서 이 값을 변경하지 않는 것이 좋습니다.
이 문제를 해결하려면 각 32비트 웹 서버에 다음 프로세스를 설정하는 것이 좋습니다.
IIS 겹친 재생 사용
작업자 프로세스를 정기적으로 다시 시작하면 주소 공간의 조각화를 감소시킬 수 있습니다. 따라서 프로세스가 더욱 효율적이며 강력해집니다. IIS의 겹친 재생 기능은 SharePoint 작업자 프로세스를 적절히 재생하는 데 사용될 수 있습니다. 이렇게 하면 기존 사용자의 요청이 완료될 시간이 주어집니다. 새로운 프로세스는 기존 프로세스를 중지하고 다시 시작하기 전에 시작되어 새로운 요청을 모두 수행합니다. 기존 요청이 모두 충족되거나 종료 시간 제한이 초과되면 기존 프로세스가 종료됩니다.
최상의 결과를 얻으려면 IIS를 특정 시간에 재생하고 메모리 사용량이 특정 수준에 도달할 때 재생하도록 설정해야 합니다.
1700MB에서 가상 메모리 기반 재생이 발생하도록 구성합니다.
1000MB에서 메모리 사용 재생이 발생하도록 구성합니다.
종료 시간 제한을 300초 이상으로 설정하여 대용량 파일 업로드와 같이 오래 실행되는 사용자 요청도 완료될 수 있도록 합니다.
매일 특정 기간에 큰 부하가 정기적으로 발생하는 환경에서는 시간 기반 재생을 사용합니다. 최대 트래픽이 발생하기 약 30분 전으로 예약 재생을 설정합니다.
32비트 서버에서 이 설정을 구성하지 못하면 ASP .NET 캐시 관리에 부정적인 영향이 미칠 수 있습니다. 프로세스 메모리 제한을 설정하지 않으면 ASP .NET에서 프로세스 메모리 제한을 계산합니다. 사용자 모드 주소 공간이 2GB인 경우 ASP .NET에서는 물리적 RAM의 60% 또는 800MB 이하 값을 사용합니다. 이 값은 캐시의 메모리 정리 수준을 결정하는 데 사용됩니다. 이 값을 너무 낮게 설정하면 메모리 정리 작업이 너무 많이 발생됩니다. 너무 높게 설정하면 프로세스 용량이 너무 커져서 OutOfMemory 예외 및 기타 오류가 발생하게 됩니다.
작업자 프로세스 재생에 대한 자세한 내용은 재생할 작업자 프로세스 구성(https://go.microsoft.com/fwlink/?linkid=105924&clcid=0x412)을 참조하십시오.
프로세스 재생을 추적하도록 LogEventOnRecycle IIS 메타베이스 속성 설정
작업자 프로세스 재생 간격을 추적하려면 IIS(인터넷 정보 서비스) 6.0 메타베이스의 LogEventOnRecycle 속성을 사용하여 시스템 이벤트 로그에 항목을 생성하도록 할 수 있습니다. 이러한 프로세스가 4시간 주기보다 더 자주 재생되고 있는 경우 더 많은 웹 서버를 추가하여 부하를 처리할 수 있습니다.
Adsutil.vbs를 사용하여 플래그를 지정할 수 있습니다. 모든 응용 프로그램 풀 프로세스를 이벤트 로그에 기록하려면 다음 단계를 따릅니다.
시작 및 실행을 차례로 클릭하고 cmd를 입력한 다음 Enter 키를 누릅니다.
Adsutil을 저장할 디렉터리를 변경합니다. 기본 디렉터리 위치는 %SYSTEMDRIVE%\Inetpub\AdminScripts입니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
cscript adsutil.vbs Set w3svc/AppPools/ <응용 프로그램 풀 이름> /LogEventOnRecycle 255
이 명령에서 응용 프로그램 풀 이름을 이벤트를 활성화할 응용 프로그램 풀의 이름으로 바꿉니다.
참고
응용 프로그램 풀 이름에 공백이 있는 경우(예: "SharePoint- 80") 다음 예제와 같이 명령의 메타베이스 경로를 큰 따옴표로 묶어야 합니다.
cscript adsutil.vbs Set "w3svc/AppPools/SharePoint - 80/LogEventOnRecycle" 255
자세한 내용은 IIS 6.0의 응용 프로그램 풀 재생 이벤트 수정 방법(https://go.microsoft.com/fwlink/?linkid=105925&clcid=0x412)을 참조하십시오.
사용량이 적은 시간에 유지 관리 수행
다른 사이트가 사용되고 있는 동안 사이트를 이동하거나 삭제하면 전체 포털에서 응답하지 않게 될 수 있습니다. 따라서 이와 같이 리소스를 많이 사용하는 유지 관리 작업은 사용량이 적은 시간에 수행합니다.
페이지를 체크 아웃한 상태로 두지 않기
엔터프라이즈 콘텐츠 관리를 사용하고 있는 경우 페이지를 체크 아웃한 상태로 두지 않아야 합니다. 대신 가능한 경우 변경할 때마다 페이지에 바로 체크인합니다. 페이지를 체크 아웃한 상태로 두면 페이지 렌더링 성능이 저하됩니다.
사용자 지정 내용 및 웹 파트 사용을 주의 깊게 모니터링
다음 리소스에서 설명하고 있는 최상의 방법을 따르는 사용자 지정 내용만 배포합니다.
최상의 방법: 삭제 가능한 Windows SharePoint Services 개체 사용 (영문)(https://go.microsoft.com/fwlink/?linkid=105945&clcid=0x412)
Windows SharePoint Services 3.0에서의 코드 사용과 관련된 개발 도구 및 기법(1/2부) (영문)(https://go.microsoft.com/fwlink/?linkid=101494&clcid=0x412)
최상의 방법: SharePoint 개체 모델 사용 시 일반적인 코딩 문제 (영문)(https://go.microsoft.com/fwlink/?linkid=105946&clcid=0x412)
SharePoint 제품 및 기술 사용자 지정 정책(https://go.microsoft.com/fwlink/?linkid=105947&clcid=0x412)
웹 파트와 페이지 렌더링 시간도 모니터링합니다. 동료 웹 파트 처리에는 자원이 많이 소모될 수 있습니다. 따라서 다른 정보를 대량으로 표시하는 페이지에서는 동료 웹 파트를 사용하지 마십시오.
대용량 파일 모니터링 및 관리
5MB 이상의 대용량 파일을 처리하는 경우 최대 문서 업로드 크기를 비즈니스 요구 사항을 기준으로 예상할 수 있는 가장 큰 크기로 변경합니다. 파일의 기본 최대 업로드 크기는 50MB입니다. SharePoint 제품 및 기술에서 지원되는 최대 파일 크기는 2GB입니다.
최종 사용자가 자주 액세스하는 대용량 파일 모음이 있고 이러한 파일을 자주 업데이트하지 않는 경우 이 파일 모음을 Office SharePoint Server 외부에 저장하는 것이 좋습니다. 대신 오프라인 공동 작업 클라이언트를 사용할 수도 있습니다.
최종 사용자가 대용량 파일을 작업할 수 있도록 교육
최종 사용자가 대용량 파일 작업을 수행하는 방법은 성능에 중요한 영향을 줄 수 있습니다.
모든 최종 사용자는 임시 인터넷 파일(Internet Explorer 캐시)에 최소 50MB의 공간을 할당해야 하며 대용량 파일을 정기적으로 여는 경우 더 많은 공간을 할당해야 합니다. 임시 인터넷 파일에 대한 공간을 할당하지 않는 최종 사용자의 경우 웹 서버에 큰 부하가 발생하게 됩니다.
25MB 이상인 문서를 작업하는 최종 사용자는 이 문서를 로컬 컴퓨터에 저장해야 합니다. 문서 라이브러리에서 대용량 문서를 직접 열면 이 문서가 열려 있는 동안 대역폭 및 리소스가 소모되며 변경 사항이 문서 라이브러리의 문서에 직접 자동으로 저장될 수 있습니다.
최종 사용자는 문서를 열기 전에 해당 문서를 마우스 오른쪽 단추로 클릭하여 사용자의 컴퓨터에 저장한 다음 편집을 완료한 경우 문서에 대한 변경 사항을 문서 라이브러리로 업로드해야 합니다.
최종 사용자는 대용량 문서를 보는 데 폴더 보기를 사용하면 안 됩니다. 모든 문서 보기를 사용해야 합니다. 폴더 보기에서 SharePoint 문서 라이브러리를 여는 경우 나열된 파일 위로 포인터를 놓으면 검색하고 있는 폴더의 모든 파일에 대한 메타데이터가 요청됩니다. 전체 파일을 요청하게 되는 경우도 있습니다. 폴더 보기에서 여러 개의 대용량 파일이 동시에 검색되는 경우 이런 방법은 서버에 매우 큰 부하를 주게 됩니다.
최종 사용자는 문서 라이브러리의 편집 메뉴에 있는 보내기 하위 메뉴의 복사본 다운로드 항목을 사용하면 안 됩니다. 복사본 다운로드 옵션은 웹 서버의 메모리에 있는 전체 파일을 엽니다.
최종 사용자가 대용량 문서 라이브러리를 작업할 수 있도록 교육
최종 사용자가 대용량 문서 라이브러리 작업을 수행하는 방법은 성능에 큰 영향을 줄 수 있습니다.
최종 사용자는 대용량 문서 라이브러리 작업을 수행하도록 인덱싱된 사용자 지정 보기 필터를 사용해야 하며 라이브러리에 직접 액세스하면 안 됩니다.
최종 사용자는 대용량 문서 라이브러리를 보는 데 폴더 보기를 사용하지 않는 것이 좋습니다. 이 대신 모든 문서 보기를 사용해야 합니다. 폴더 보기에서 SharePoint 문서 라이브러리를 여는 경우 나열된 파일 위로 포인터를 놓으면 검색하고 있는 폴더의 모든 파일에 대한 메타데이터가 요청됩니다. 전체 파일을 요청하게 되는 경우도 있습니다. 많은 항목이 들어 있는 폴더에서 이 프로세스를 사용하면 시간이 오래 걸리며 서버 팜의 성능에 영향을 줄 수 있습니다.
최종 사용자와 함께 작업하여 요구에 맞도록 적절한 보기를 만들고, 큰 목록에 대한 고유 보기를 만들지 않도록 합니다. 여러 개의 큰 목록이 들어 있는 웹 응용 프로그램이 있는 경우 전체 웹 응용 프로그램에 대해 개인 보기 관리 권한을 비활성화하는 것이 좋습니다.
성능을 위해 큰 목록 관리
SharePoint 제품 및 기술은 큰 목록을 지원합니다. 하지만 최종 사용자의 목록 보기 방법을 효율적으로 제어하여 성능에 부정적인 영향을 주지 않도록 해야 합니다.
최고의 성능을 위해 목록 수준(예: 목록 또는 단일 폴더의 루트)에서 2,000 항목을 초과하지 마십시오.
큰 목록을 만들고 검색해야 하는 경우 다음 최상의 방법을 사용합니다.
하나 이상의 열에 목록을 인덱싱합니다.
목록의 기본 보기를 다음 요구 사항을 따르는 사용자 지정 필터가 적용된 보기로 변경합니다.
보기가 5,000 항목 미만을 반환합니다.
보기를 필터링하는 데 사용되는 첫 번째 열에는 인덱스가 있으며 반환되는 총 항목 수를 줄여 줍니다.
이 보기에는 반드시 필요한 열만 표시됩니다.
보기에 최소한의 조회 열이 포함되어 있습니다. 보기에 포함되어 있는 목록의 각 조회 열은 데이터베이스에 대한 추가 연결 및 호출을 발생시킵니다.
목록의 열 수에 대해 목록 크기를 평가합니다. 많은 열이 있는 목록은 작업 수행 속도가 느립니다.
다음 설정 및 작업은 큰 목록이 있는 사이트의 성능에 많은 영향을 미칠 수 있습니다.
복합 명시적 사용 권한(목록 또는 라이브러리, 폴더, 항목, 문서 수준에 대한 사용 권한)은 각 항목에 대해 강제로 인증을 확인합니다.
인증 설정을 변경합니다.
인덱스를 만들고 업데이트 및 삭제합니다.
콘텐츠를 가져오고 내보냅니다.
목록을 삭제합니다.
새로운 콘텐츠 형식을 배포하거나 기존 콘텐츠 형식을 업데이트합니다.
많은 작업 및 기록 항목을 생성하는 워크플로가 있는 경우 큰 목록이 생성될 수 있습니다. 사용량이 많은 워크플로의 경우 다음 최상의 방법을 따릅니다.
AutoCleanupDays 타이머 작업에서 60일 이상의 완료된 워크플로 작업을 계속해서 정리하게 합니다.
워크플로 연결을 만드는 경우 워크플로가 과도하게 사용되거나 많은 작업 및 기록 항목이 발생할 것으로 예상되면 기본이 아닌 작업 및 기록 목록을 사용합니다.
큰 목록을 사용하는 사이트가 있는지 확인합니다. 이 사이트는 Stsadm 백업 작업으로 실행되는 사이트 모음 백업의 성능을 저하시킵니다.
큰 목록이 있거나 이를 계획하고 있는 경우 다음 리소스를 읽어보는 것이 좋습니다.
많은 항목이 포함된 목록 및 라이브러리 관리(https://go.microsoft.com/fwlink/?linkid=105579&clcid=0x412)
Office SharePoint Server 2007에서 큰 목록 작업(https://go.microsoft.com/fwlink/?linkid=105580&clcid=0x412)
이 문서의 다운로드
이 항목은 다운로드 가능한 다음 문서에도 포함되어 있어 더 쉽게 읽고 인쇄할 수 있습니다.
사용 가능한 문서의 전체 목록은 다운로드 가능한 Office SharePoint Server 2007 관련 콘텐츠 (영문)를 참조하십시오.