SharePoint Server 2010 모니터링 및 유지 관리

 

적용 대상: SharePoint Server 2010

마지막으로 수정된 항목: 2015-03-09

이 문서에서는 Microsoft SharePoint Server 2010 팜 모니터링 및 성능 카운터에 대한 정보를 제공합니다. SharePoint Server 2010 시스템 성능을 유지하려면 서버를 모니터링하여 잠재적인 병목 현상을 식별해야 합니다. 모니터링을 효과적으로 수행하려면 팜의 특정 부분에 유의해야 함을 알려 주는 주요 지표를 파악하고 이러한 지표를 해석하는 방법을 알고 있어야 합니다. 팜이 정해진 목표를 벗어나 작동하는 것으로 확인되면 하드웨어 리소스 추가 또는 제거, 토폴로지 수정, 데이터 저장 방식 변경 등의 방법을 통해 팜을 조정할 수 있습니다.

이 섹션의 정보는 성능 카운터와 기타 설정을 수동으로 구성하는 관리자에게 도움을 주기 위한 것입니다. SharePoint 중앙 관리 인터페이스에 기본 제공되는 상태 모니터링 도구를 사용하여 상태를 모니터링하고 문제를 해결하는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오.

이 문서를 읽기 전에 SharePoint Server 2010의 용량 관리 및 크기 조정 개요를 살펴보아야 합니다.

이 문서의 내용:

  • 모니터링 구성

  • 병목 현상 제거

모니터링 구성

다음은 초기 단계에 환경을 모니터링하도록 수정할 수 있는 설정 목록입니다. 이 목록은 변경이 필요한 경우를 파악하는 데 도움이 됩니다. 모니터링 기능을 늘리면 사용 현황 데이터베이스에 필요한 디스크 공간의 양이 늘어난다는 점을 염두에 두십시오. 환경이 안정적으로 작동하고 이러한 세부적인 모니터링이 더 이상 필요 없게 되면 아래 설정을 기본값으로 되돌릴 수도 있습니다.

설정 참고

Event Log Flooding Protection

사용 안 함

기본값은 사용입니다. 모니터링 데이터를 가능한 한 많이 수집하려는 경우 이 설정을 해제할 수 있습니다. 정상적인 작동 조건에서는 설정해야 합니다.

타이머 작업 일정

   

Microsoft SharePoint Foundation Usage Data Import

5분

기본값은 30분입니다. 이 설정을 낮추면 사용 현황 데이터베이스로 데이터를 가져오는 빈도가 잦아지며 특히 문제를 해결하려는 경우 유용합니다. 정상적인 작동 조건에서는 30분으로 설정해야 합니다.

진단 공급자

   

Enable all diagnostic providers

사용

"검색 상태 모니터링 - 추적 이벤트" 공급자를 제외하고 기본값은 사용 안 함입니다. 진단 공급자는 다양한 기능과 구성 요소의 상태 데이터를 수집합니다. 정상적인 작동 조건에서는 기본값으로 되돌릴 수도 있습니다.

Set "job-diagnostics-performance-counter-wfe-provider" and "job-diagnostics-performance-counter-sql-provider" Schedule Intervals

1분

기본값은 5분입니다. 이 설정을 낮추면 데이터 폴링 간격을 줄일 수 있으며 특히 문제를 해결하려는 경우 유용합니다. 정상적인 작동 조건에서는 5분으로 설정해야 합니다.

기타

   

Enable stack tracing for content requests

사용

기본값은 사용 안 함입니다. 이 설정을 사용하면 프로세스 스택 추적을 사용하여 콘텐츠 요청 실패를 진단할 수 있습니다. 정상적인 작동 조건에서는 사용하지 않도록 설정해야 합니다.

Enable the Developer Dashboard

사용

기본값은 사용 안 함입니다. 이 설정을 사용하면 느린 페이지나, 개발자 대시보드를 사용함으로써 야기되는 다른 문제를 진단할 수 있습니다. 정상적인 작동 조건이며 문제 해결이 더 이상 필요하지 않은 경우에는 사용하지 않도록 설정해야 합니다.

사용 현황 데이터 수집

   

콘텐츠 가져오기 사용

콘텐츠 내보내기 사용

페이지 요청

기능 사용

검색 쿼리 사용 현황

사이트 재고 사용 현황

타이머 작업

등급 사용 현황

사용

이러한 카운터에 대해 로깅을 설정하면 환경 전반의 사용 현황에 관한 데이터를 더 많이 수집하여 환경의 트래픽 패턴을 보다 정확히 이해할 수 있습니다.

성능 카운터

사용 현황 데이터베이스를 사용하는 경우 팜의 성능을 모니터링하고 평가하는 데 도움이 되는 성능 카운터를 사용 현황 데이터베이스에 추가하여 카운터가 특정 간격으로 자동으로 기록되도록 할 수 있습니다. 기본 간격은 30분입니다. 성능 카운터를 추가하면 사용 현황 데이터베이스를 쿼리하여 카운터를 검색하고 시간의 경과에 따른 결과를 그래프로 나타낼 수 있습니다. 다음은 Add-SPDiagnosticsPerformanceCounter PowerShell cmdlet을 사용하여 % Processor Time 카운터를 사용 현황 데이터베이스에 추가하는 예입니다. 이 cmdlet은 웹 서버 중 하나에서만 실행하면 됩니다.

Add-SPDiagnosticsPerformanceCounter -Category "Processor" -Counter "% Processor Time" -Instance "_Total" -WebFrontEnd

서버 시스템을 모니터링하는 데 사용할 수 있는 일반 성능 카운터는 수없이 많습니다. 다음 표에서는 이러한 성능 카운터를 간략히 보여 줍니다.

성능 카운터 설명

Processor

모든 프로세서의 사용량이 지속적으로 높게(80% 이상) 유지되지 않도록 프로세서 성능을 모니터링해야 합니다. 프로세서 사용량이 지속적으로 높으면 시스템에서 갑작스런 작업량 급증을 처리할 수 없다는 것을 나타냅니다. 또한 일반적인 상태에서는 하나의 구성 요소 오류로 인해 나머지 구성 요소가 올바로 동작하지 않게 되는 도미노 효과가 발생하지 않는다는 것을 나타냅니다. 예를 들어 웹 서버가 세 대 있으면 모든 서버의 평균 CPU 사용률을 60% 미만으로 유지하여 한 서버에서 오류가 발생하더라도 다른 두 서버에서 추가 부하를 감당할 수 있도록 해야 합니다.

Network Interface

네트워크 인터페이스 카드를 통해 데이터가 전송 및 수신되는 비율을 모니터링합니다. 이 값은 네트워크 용량의 50% 미만으로 유지되어야 합니다.

Disks and Cache

정기적으로 모니터링해야 하는 수많은 논리 디스크 옵션이 있습니다. 사용 가능한 디스크 공간은 모든 용량 연구에서 필수 요소이지만 디스크가 유휴 상태인 시간도 검토해야 합니다. 서버에서 실행 중인 응용 프로그램이나 서비스의 유형에 따라 디스크 읽기 시간 및 쓰기 시간도 검토해야 합니다. 큐에서 대기 중인 쓰기나 읽기 작업의 수가 증가하면 성능에 영향을 줍니다. 캐시는 읽기 및 쓰기 작업에 가장 큰 영향을 줍니다. 따라서 캐시 오류가 증가하지 않는지 모니터링해야 합니다.

Memory and Paging File

할당 가능한 실제 메모리의 양을 모니터링합니다. 메모리가 부족하면 페이지 파일 사용량이 지나치게 많아져 초당 페이지 폴트 수가 증가합니다.

시스템 카운터

다음 표에는 웹 서버에서 SPDiagnosticPerformanceCounter를 사용하여 사용 현황 데이터베이스에서 모니터링하는 카운터 집합에 추가할 수 있는 시스템 개체 및 카운터에 대한 정보가 나와 있습니다.

개체 및 카운터 설명

프로세서

 

% Processor Time

이 카운터는 일정 기간 동안의 프로세서 사용량을 보여 줍니다. 이 카운터의 값이 지속적으로 너무 높으면 성능에 좋지 않은 영향을 주고 있는 것입니다. 다중 프로세서 시스템의 경우 "Total" 값을 검토해야 합니다. 각 프로세서의 사용률을 측정하여 여러 코어의 성능을 고르게 유지할 수도 있습니다.

디스크

 

- Avg. Disk Queue Length

이 카운터는 동일한 간격 동안 선택한 디스크에 대해 대기한 평균 읽기 및 쓰기 요청 수를 보여 줍니다. 디스크 읽기/쓰기에 문제가 없고 큐에서 대기 중인 항목이 늘어나지 않는 상태에서 시스템이 안정적인 상태로 작동한다면 디스크 큐 길이가 길어도 문제가 되지 않을 수 있습니다.

Avg. Disk Read Queue Length

큐에서 대기 중인 평균 읽기 요청 수입니다.

Avg. Disk Write Queue Length

큐에서 대기 중인 평균 쓰기 요청 수입니다.

Disk Reads/sec

디스크에 대한 초당 읽기 수입니다.

Disk Writes/sec

디스크에 대한 초당 쓰기 수입니다.

메모리

 

- Available Mbytes

이 카운터는 할당 가능한 실제 메모리의 양을 보여 줍니다. 메모리가 부족하면 페이지 파일 사용량이 지나치게 많아져 초당 페이지 폴트 수가 증가합니다.

- Cache Faults/sec

이 카운터는 파일 시스템에서 페이지를 검색했지만 찾을 수 없는 경우의 오류 발생 비율을 보여 줍니다.

읽기 및 쓰기 작업에 캐시를 효과적으로 사용하면 서버 성능을 대폭 향상시킬 수 있습니다. 캐시 오류가 증가하지 않는지 모니터링해야 합니다. 캐시 오류 증가는 Async Fast Reads/sec 또는 Read Aheads/sec가 감소하는 것으로 나타납니다.

- Pages/sec

이 카운터는 페이지를 디스크에서 읽어들이거나 디스크에 써서 하드 페이지 폴트를 해결하는 속도를 보여 줍니다. 이 값이 증가하면 시스템 차원의 성능 문제를 나타냅니다.

페이징 파일

 

- % Used and % Used Peak

스왑 파일이라고도 하는 서버 페이징 파일은 "가상" 메모리 주소를 디스크에 보관합니다. 페이지 폴트는 필요한 "가상" 리소스를 디스크에서 메모리로 읽어들이는 동안 프로세스를 중지하고 기다려야 할 때 발생합니다. 페이지 폴트는 실제 메모리가 적합하지 않을 때 더 자주 발생합니다.

NIC

 

- Total Bytes/sec

네트워크 인터페이스 카드를 통해 데이터가 전송 및 수신되는 비율입니다. 이 값이 네트워크 용량의 40~50%를 넘으면 더 자세히 조사해야 합니다. 정확히 조사하려면 Bytes received/secBytes Sent/sec를 모니터링하십시오.

프로세스

 

- Working Set

이 카운터는 특정 프로세스에 대한 작업 집합의 현재 크기(바이트)를 나타냅니다. 이 메모리는 사용되고 있지 않더라도 프로세스용으로 예약되어 있습니다.

- % Processor Time

이 카운터는 특정 프로세스에 사용된 프로세서 시간의 백분율을 나타냅니다.

Thread Count (_Total)

현재 스레드 수입니다.

ASP.NET

 

Requests Total

서버가 시작된 이후의 총 요청 수입니다.

Requests Queued

Microsoft SharePoint Foundation 2010에서는 HTTP를 통해 사용자 브라우저에 렌더링되는 HTML 페이지의 문서 블록을 제공합니다. 이 카운터는 처리 대기 중인 요청 수를 보여 줍니다.

Request Wait Time

가장 최근 요청이 큐에서 처리 대기 중이었던 시간(밀리초)입니다. 대기 이벤트의 수가 증가하면 사용자는 저하된 페이지 렌더링 성능을 경험하게 됩니다.

Requests Rejected

요청 처리를 위한 서버 리소스 부족으로 인해 실행되지 않은 총 요청 수입니다. 이 카운터는 503 HTTP 상태 코드를 반환한 요청의 수를 나타냅니다. 503 HTTP 상태 코드는 서버의 사용량이 많음을 나타냅니다.

Requests Executing (_Total)

현재 실행 중인 요청 수입니다.

Requests/Sec (_Total)

초당 실행된 요청 수입니다. 이 카운터는 응용 프로그램의 현재 처리량을 나타냅니다. 일정한 부하에서는 이 값이 특정 범위 내로 유지되어 다른 서버 작업(예: 가비지 수집, 캐시 정리 스레드, 외부 서버 도구 등)에 영향을 주지 않아야 합니다.

.NET CLR 메모리

 

# Gen 0 Collections

응용 프로그램이 시작된 이후 0세대 개체(가장 최근에 할당된 개체)가 가비지 수집된 횟수를 표시합니다. 이 값으로 #Gen 0: #Gen 1: #Gen 2의 비율을 유추하여 2세대 개체 수집 횟수가 0세대 개체 수집 횟수를 크게 초과하지 않았는지 확인할 수 있습니다. 0세대 개체 수집 횟수를 2배 이상 초과하지 않으면 최적입니다.

# Gen 1 Collections

응용 프로그램이 시작된 이후 1세대 개체가 가비지 수집된 횟수를 표시합니다

# Gen 2 Collections

응용 프로그램이 시작된 이후 2세대 개체가 가비지 수집된 횟수를 표시합니다. 이 카운터는 2세대 가비지 수집(전체 가비지 수집이라고도 함)이 끝날 때 증가합니다.

% Time in GC

마지막 가비지 수집 주기 이후 가비지 수집을 수행하는 데 소요된 경과 시간의 백분율을 표시합니다. 이 카운터는 일반적으로 응용 프로그램 대신 메모리를 수집하고 압축하기 위해 가비지 수집기가 수행한 작업을 나타냅니다. 이 카운터는 모든 가비지 수집이 끝날 때만 업데이트됩니다. 이 카운터 값은 평균이 아니라 마지막으로 관찰된 값을 보여 줍니다. 정상적인 작동 조건에서는 이 카운터가 5% 미만이어야 합니다.

SQL Server 카운터

다음 표에는 SQL Server 개체 및 카운터에 대한 정보가 나와 있습니다.

개체 및 카운터 설명

General Statistics

이 개체는 현재 연결 수 및 SQL Server 인스턴스를 실행하는 컴퓨터에서 초당 연결하는 사용자와 연결이 끊어지는 사용자 수 같은 일반적인 서버 차원 작업을 모니터링하는 카운터를 제공합니다.

User Connections

이 카운터는 SQL Server 인스턴스에서 발생하는 사용자 연결량을 보여 줍니다. 이 수치가 기준치에서 500% 상승하면 성능이 저하될 수 있습니다.

Databases

이 개체는 대량 복사 작업, 백업 및 복원 처리량, 트랜잭션 로그 작업을 모니터링하는 카운터를 제공합니다. 트랜잭션 및 트랜잭션 로그를 모니터링하여 데이터베이스에 발생한 사용자 작업의 양과 트랜잭션 로그가 찬 정도를 확인합니다. 사용자 작업의 양은 데이터베이스의 성능을 결정하며 로그 크기, 잠금 및 복제에 영향을 줄 수 있습니다. 낮은 수준의 로그 작업을 모니터링하여 사용자 작업과 리소스 사용량을 측정하면 성능 병목 현상을 식별하는 데 도움이 될 수 있습니다.

Transactions/sec

이 카운터는 특정 데이터베이스 또는 전체 SQL Server 인스턴스에서 발생하는 초당 트랜잭션의 양을 보여 줍니다. 이 값은 초당 트랜잭션 양의 기준치를 계획하고 문제를 해결하는 데 도움이 됩니다.

Locks

이 개체는 개별 리소스 유형별로 SQL Server 잠금에 대한 정보를 제공합니다.

Number of Deadlocks/sec

이 카운터는 SQL Server에서 발생하는 초당 교착 상태 수를 보여 줍니다. 일반적으로 0이어야 합니다.

Average Wait Time (ms)

이 카운터는 대기를 발생시킨 각 잠금 요청의 평균 대기 시간을 보여 줍니다.

Lock Wait Time (ms)

이 카운터는 마지막 초의 총 잠금 대기 시간을 보여 줍니다.

Lock Waits/sec

이 카운터는 바로 충족할 수 없어 리소스를 기다려야 했던 초당 잠금 수를 보여 줍니다.

Latches

이 개체는 래치라는 내부 SQL Server 리소스 잠금을 모니터링하는 카운터를 제공합니다. 래치를 모니터링하여 사용자 작업 및 리소스 사용량을 확인하면 성능 병목 현상을 식별하는 데 도움이 될 수 있습니다.

Average Latch Wait Time (ms)

이 카운터는 기다려야 했던 래치 요청의 평균 래치 대기 시간을 보여 줍니다.

Latch Waits/sec

이 카운터는 바로 처리할 수 없었던 초당 래치 요청 수를 보여 줍니다.

SQL Statistics

이 개체는 SQL Server 인스턴스로 보낸 요청의 유형과 컴파일을 모니터링하는 카운터를 제공합니다. 쿼리 컴파일 및 재컴파일의 수와 SQL Server 인스턴스에서 수신한 일괄 처리 수를 모니터링하면 SQL Server에서 사용자 쿼리를 처리하는 속도와 쿼리 최적화 프로그램에서 쿼리를 처리하는 효율성 수준을 확인할 수 있습니다.

SQL Compilations/sec

이 카운터는 컴파일 코드 경로가 입력되는 초당 횟수를 나타냅니다.

SQL Re-Compilations/sec

이 카운터는 문이 다시 컴파일되는 초당 횟수를 나타냅니다.

Plan Cache

이 개체는 SQL Server에서 메모리를 사용하여 저장 프로시저, 임시 및 준비된 Transact-SQL 문, 트리거 같은 개체를 저장하는 방법을 모니터링하는 카운터를 제공합니다.

Cache Hit Ratio

이 카운터는 계획에 대한 캐시 적중 수와 캐시 조회 수 간의 비율을 나타냅니다.

Buffer Cache

이 개체는 SQL Server에서 메모리를 사용하여 데이터 페이지, 내부 데이터 구조 및 프로시저 캐시를 저장하는 방법을 모니터링하는 카운터와 SQL Server가 데이터베이스 페이지를 읽고 쓸 때 물리적 I/O를 모니터링하는 카운터를 제공합니다.

Buffer Cache Hit Ratio

이 카운터는 디스크에서 읽어들이지 않고 버퍼 캐시에서 검색된 페이지의 백분율을 보여 줍니다. 이 백분율은 SQL Server 인스턴스가 시작된 이후의 총 캐시 조회 수로 총 캐시 적중 수를 나눈 것입니다.

병목 현상 제거

시스템 병목 현상은 리소스가 부족해 사용자 트랜잭션 요청을 처리할 수 없는 경합 지점이 있음을 나타냅니다. 이러한 경합 지점은 실제 하드웨어, 운영 환경 또는 응용 프로그램 기반일 수 있습니다. 대개 병목 현상의 원인은 비효율적인 사용자 지정 코드나 타사 솔루션에 있으므로 이러한 요소를 꼼꼼히 조사하면 하드웨어를 추가하는 것보다 나은 결과를 얻을 수 있습니다. 이외에도 병목 현상이 발생하는 다른 일반적인 원인으로는 잘못된 팜 구성이나, 리소스를 필요 이상으로 사용하도록 데이터가 구성되어 있는 비효율적인 솔루션 구현을 들 수 있습니다. 시스템 관리자는 지속적으로 성능을 모니터링하여 병목 현상을 관리해야 하고 성능 문제가 발견되면 병목 현상을 제거하기 위한 최상의 해결 방법을 찾아내야 합니다. 성능 카운터와 SCOM(System Center Operations Manager) 같은 기타 성능 모니터링 응용 프로그램은 문제를 추적 및 분석하여 적합한 솔루션을 개발하는 데 사용할 수 있는 핵심 도구입니다.

물리적 병목 현상 해결 방법

물리적 병목 현상은 프로세서, 디스크, 메모리 및 네트워크 경합으로 인해 발생합니다. 즉, 물리적 병목 현상은 너무 많은 요청이 너무 적은 물리적 리소스를 사용하려고 경합할 때 발생합니다. 성능 모니터링 항목에 설명된 개체와 카운터는 하드웨어 프로세서나 ASP.NET처럼 성능 문제가 발생하는 원인이 어디에 있는지를 보여 줍니다. 병목 현상을 해결하려면 이러한 문제를 식별한 다음 성능 문제를 완화하는 변경을 수행해야 합니다.

문제가 바로 발생하는 경우는 거의 없습니다. 일반적으로 성능이 서서히 저하되므로 성능 모니터링 도구나 SCOM 같은 정교한 시스템을 사용하여 정기적으로 모니터링을 수행하면 문제를 쉽게 추적할 수 있습니다. 성능 모니터링 도구와 SCOM 중 어떤 방법을 사용하든 필요에 따라 알림 텍스트나 스크립팅된 명령의 형태로 솔루션을 알림에 포함할 수 있습니다.

잘못된 구성이나 비효율적인 사용자 지정 코드 또는 타사 솔루션으로 인해 병목 현상이 발생한 것이 아님이 확인된 경우에는 하드웨어나 시스템 구성을 변경하여 병목 현상 문제를 해결해야 할 수도 있습니다. 다음 표에는 문제가 발생하는 임계값 및 가능한 해결 방법이 나와 있습니다. 일부 옵션에서는 하드웨어 업그레이드나 수정을 제안하고 있습니다.

개체 및 카운터 문제 해결 옵션

프로세서

Processor - % Processor Time

75~85% 이상

프로세서를 업그레이드합니다.

프로세서 수를 늘립니다.

서버를 더 추가합니다.

디스크

   

Avg. Disk Queue Length

서서히 증가하는 경우 시스템이 안정적인 상태로 작동하지 않고 큐가 백업됩니다.

디스크 수를 늘리거나 디스크 속도를 높입니다.

스트라이프 배열 구성을 변경합니다.

데이터 일부를 대체 서버로 이동합니다.

% Idle Time

90% 이상

디스크 수를 늘립니다.

데이터를 대체 디스크나 서버로 이동합니다.

% Free Space

30% 미만

디스크 수를 늘립니다.

데이터를 대체 디스크나 서버로 이동합니다.

메모리

   

Available Mbytes

웹 서버에서 2GB 미만

메모리를 추가합니다.

참고

사용 가능한 SQL Server 메모리는 원래 적으므로 항상 문제가 있음을 나타내는 것은 아닙니다.

Cache Faults/sec

1 이상

메모리 추가

가능한 경우 캐시 속도를 높이거나 캐시 크기를 늘립니다.

데이터를 대체 디스크나 서버로 이동합니다.

Pages/sec

10 이상

메모리를 추가합니다.

페이징 파일

   

% Used and % Used Peak

스왑 파일이라고도 하는 서버 페이징 파일은 "가상" 메모리 주소를 디스크에 보관합니다. 페이지 폴트는 필요한 "가상" 리소스를 디스크에서 메모리로 읽어들이는 동안 프로세스를 중지하고 기다려야 할 때 발생합니다. 페이지 폴트는 실제 메모리가 적합하지 않을 때 더 자주 발생합니다.

메모리를 추가합니다.

NIC

   

Total Bytes/sec

네트워크 용량의 40~50% 이상. 네트워크 인터페이스 카드를 통해 데이터가 전송 및 수신되는 비율입니다.

Bytes received/sec 및 Bytes Sent/sec를 모니터링하여 더 자세히 조사합니다.

네트워크 인터페이스 카드 속도를 다시 평가합니다.

메모리 버퍼의 수, 크기 및 사용량을 확인합니다.

프로세스

   

Working Set

총 메모리의 80% 이상

메모리를 추가합니다.

% Processor Time

75~85% 이상

프로세서 수를 늘립니다.

작업량을 추가 서버에 다시 분배합니다.

ASP.NET

   

Application Pool Recycles

하루에 몇 번씩 간헐적으로 속도가 느려짐

하루 종일 응용 프로그램 풀을 불필요하게 자동으로 재생하는 설정을 구현하지 않았는지 확인합니다.

Requests Queued

수백 또는 수천 개의 요청이 큐에서 대기

웹 서버를 추가합니다.

이 카운터의 기본 최대값은 5,000이며 Machine.config 파일에서 이 설정을 변경할 수 있습니다.

Request Wait Time

대기 이벤트의 수가 증가하면 사용자는 저하된 페이지 렌더링 성능을 경험하게 됩니다.

웹 서버를 추가합니다.

Requests Rejected

0 이상

웹 서버를 추가합니다.

See Also

Concepts

SharePoint Server 2010의 용량 관리 및 크기 조정 개요
SharePoint Server 2010 성능 테스트
SharePoint Server 2010의 용량 관리
상태 모니터링(SharePoint Server 2010)
저장소 및 SQL Server 용량 계획 및 구성(SharePoint Server 2010)