SharePoint에서 더 많은 콘텐츠 및 사용자를 위한 엔터프라이즈 검색 토폴로지 다시 디자인
적용 대상:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
시간이 지나면서 콘텐츠 양 및 사용자 수 측면에서 대부분의 검색 환경이 커집니다. 특정 시점에서 검색 환경은 검색 아키텍처의 용량과 성능을 능가합니다. 해결 방법은 검색 아키텍처의 토폴로지를 확장하는 것입니다.
토폴로지 다시 디자인(이 문서)
다시 디자인한 토폴로지 구현(SharePoint Server에서 검색 토폴로지 관리)
SharePoint Server에서 검색 시스템의 구성 요소와 상호 작용하는 방법에 대해 잘 알고 있나요? 시작하기 전에 SharePoint Server의 검색 아키텍처 개요 및 SharePoint Server 2016에 대한 검색 아키텍처 (또는 SharePoint Server 2013의 검색 아키텍처)를 읽으면 검색 아키텍처, 검색 구성 요소, 검색 데이터베이스 및 검색 토폴로지를 숙지할 수 있습니다.
이 문서에서는 검색 토폴로지를 다시 디자인하는 방법을 단계별로 설명합니다.
아래 단계를 따르면 다음 사실을 알게 됩니다.
토폴로지에 필요한 각 검색 구성 요소 및 검색 데이터베이스 유형의 수
각 검색 구성 요소를 배포할 응용 프로그램 서버 및 데이터베이스 서버
각 응용 프로그램 서버 및 데이터베이스 서버에 필요한 하드웨어 리소스
1단계: 소유한 콘텐츠의 양
검색 인덱스에 있는 콘텐츠의 양은 팜을 호스팅하는 데 필요한 리소스에 영향을 줍니다. 기존 검색 환경에서 검색할 수 있는 항목 수를 확인해봅니다. 이 번호는 SharePoint 중앙 관리 웹 사이트의 검색 관리 페이지에서 찾을 수 있습니다. 검색 관리 페이지를 열려면 중앙 관리에서 서비스 애플리케이션 관리를 클릭한 다음 검색 서비스 애플리케이션의 이름을 클릭합니다.
향후 12개월 동안 검색 가능한 항목 수가 증가할 것으로 예상하는 양을 예측하고 해당 금액에 대한 검색 토폴로지를 디자인합니다. 예를 들어 인덱싱된 항목이 8,000,000개이고 향후 12개월 동안 해당 콘텐츠의 볼륨이 50% 증가할 것으로 예상하는 경우입니다. 검색 가능한 항목 12,000,000개에 대해 디자인해야 합니다.
2단계: 검색 아키텍처를 확장해야 하는 크기
검색 아키텍처의 규모를 평가하는 것은 언제나 쉽지 않은 일입니다. 검색 아키텍처의 규모는 콘텐츠의 양, 크롤링 속도, 쿼리 처리량 및 필요한 고가용성 수준에 따라 다릅니다. Microsoft에서 테스트한 예제 검색 아키텍처가 있으니 자체 팜에 대해서도 이를 기초로 사용하는 것이 좋습니다. 현재 검색 아키텍처를 샘플 검색 아키텍처와 비교하고 현재의 검색 아키텍처를 가장 잘 나타내는 샘플을 확인합니다. 그런 후 확장 대상으로 사용할 샘플 검색 아키텍처를 고려합니다. 검색 가능하도록 설정할 콘텐츠의 양에 따라 선택해야 하는 예제 검색 아키텍처가 다릅니다.
콘텐츠 볼륨(SharePoint 2016) | 예제 검색 아키텍처 | 콘텐츠 볼륨(SharePoint 2013) |
---|---|---|
항목 수 0~2,000만 개 | 소규모 검색 팜 | 항목 수 0~1,000만 개 |
항목 수 0~8,000만 개 | 중간 규모 검색 팜 | 항목 수 0~4,000만 개 |
항목 수 0~2억 개 | 대규모 검색 팜 | 항목 수 0~1억 개 |
항목 수 0~5억 개 | 초대형 검색 팜 | 지원되지 않음 |
이러한 샘플 검색 아키텍처는 가상 머신을 사용하지만 검색 아키텍처의 전체 SharePoint Server 솔루션 전략에 따라 물리적 서버와 가상 머신을 모두 사용할 수 있습니다.
소규모 검색 팜
이 검색 아키텍처는 초당 50개의 문서를 크롤링하고 초당 10개씩 쿼리를 처리할 수 있다고 추정되고 있습니다. SharePoint Server 2016 팜에 최대 2천만 개의 항목이 있는 경우 작은 검색 팜이 가장 적합한 팜일 것입니다. 초당 50개 문서의 크롤링 속도에서는 첫 번째 전체 크롤링에서 2,000만 개의 항목을 크롤링하는 데 110시간이 소요됩니다.
중간 규모 검색 팜
이 검색 아키텍처는 초당 100개의 문서를 크롤링하고 초당 10개씩 쿼리를 처리할 수 있다고 추정되고 있습니다. SharePoint Server 2016 팜에 20~8천만 개의 항목이 있는 경우 중간 검색 팜이 가장 적합한 팜일 것입니다. 초당 200개 문서의 크롤링 속도에서는 첫 번째 전체 크롤링에서 8,000만 개의 항목을 크롤링하는 데 280시간이 소요됩니다.
대규모 검색 팜
이 검색 아키텍처에서 초당 200개의 문서를 크롤링하고 초당 10개씩 쿼리를 처리할 수 있는 것으로 확인했습니다. SharePoint Server 2016 팜에 80~2억 개의 항목이 있는 경우 대규모 검색 팜이 가장 적합한 팜일 것입니다. 초당 200개 문서의 크롤링 속도에서는 첫 번째 전체 크롤링에서 2억 개의 항목을 크롤링하는 데 280시간이 소요됩니다.
초대형 검색 팜
Microsoft는 이 검색 아키텍처를 테스트했으며 초당 300 - 500개의 문서를 크롤링하고 초당 10개씩 쿼리를 처리할 수 있는 것으로 확인했습니다. SharePoint Server 2016만 이 크기 검색 아키텍처를 지원합니다. 최대 5억 개의 항목이 있는 경우 초대형 검색 팜과 비슷한 팜을 사용하는 것이 좋습니다. 초당 500개 문서의 크롤링 속도에서는 첫 번째 전체 크롤링에서 5억 개의 항목을 크롤링하는 데 300시간이 소요됩니다.
이 크기의 검색 팜을 만들려면 신중하게 계획하고 원하는 성능을 얻기 위해 팜을 조정해야 합니다. 전문가의 지침을 찾아보는 것이 도움이 될 수 있습니다. 또한 이 크기의 검색 팜을 백업 및 복원하는 방법과 데이터 센터에 큰 가동 중단이 있는 경우 팜을 복구하는 방법을 계획하는 것도 중요합니다. 백업, 복원 및 복구를 연습해보는 것이 좋습니다.
3단계: 알아야 할 하드웨어 요구 사항
콘텐츠 볼륨을 결정하고 이동할 새 토폴로지를 선택했으므로 다음 단계는 이 섹션에 설명된 대로 필요한 하드웨어를 계획하는 것입니다.
서버를 실제로 실행할지 또는 가상으로 실행할지 결정
처음에 검색 아키텍처를 계획할 때 실제 서버나 가상 시스템 중 한 가지를 사용하거나 두 가지를 모두 사용할지 결정했을 것입니다. 이러한 결정이 여전히 유효한지 고려해봅니다. 예를 들어 중간 규모에서 대규모 샘플 검색 아키텍처로 전환하는 경우 증가하는 서버 수를 보다 쉽게 관리하기 위해 가상 시스템을 사용하는 것이 바람직하다는 사실을 확인할 수 있습니다. 가상 환경이 관리하기 더 쉽지만 실제 환경보다 성능 수준이 더 나쁜 경우도 있습니다. 실제 서버는 가상 서버와 동일한 서버에 더 많은 검색 구성 요소를 호스팅할 수 있습니다. SharePoint 2013용 팜 가상화 및 아키텍처 개요에서 유용한 지침을 찾을 수 있습니다.
소형, 중형, 대형 또는 초대형 검색 아키텍처 샘플은 가상 머신에서 실행되지만 물리적 서버에서도 실행할 수 있습니다. 샘플 팜 아키텍처에서 가상 머신에서 호스트 서버로 검색 구성 요소를 이동하고 가상 머신을 제거합니다. 각 물리적 서버는 최대 4개의 인덱스 구성 요소를 호스트할 수 있지만 각 유형의 다른 검색 구성 요소 중 하나만 호스트할 수 있습니다. 예를 들어 물리적 서버를 사용하도록 중간 샘플 검색 아키텍처를 변경하는 경우 호스트 E에 두 개의 콘텐츠 처리 구성 요소가 있음을 알 수 있습니다. 솔루션은 콘텐츠 처리 구성 요소 중 하나를 없애는 것입니다. 이는 크롤링, 콘텐츠 처리 및 분석 처리가 콘텐츠 처리 구성 요소 수가 아니라 사용 가능한 리소스의 양에 따라 달라지므로 작동합니다.
호스트 서버의 하드웨어 리소스 선택
각 검색 구성 요소 및 검색 데이터베이스가 제대로 작동되려면 최소 크기의 하드웨어 리소스가 필요합니다. 그렇지만 하드웨어 리소스가 많을 수록 검색 아키텍처의 성능은 더 좋아집니다. 따라서 최소 크기의 하드웨어 리소스보다 더 많은 리소스가 있는 것이 좋습니다. 각 구성 요소에 필요한 리소스는 작업 부하에 따라 다르며, 주로 크롤링 속도, 쿼리 속도 및 인덱싱된 항목 수에 따라 결정됩니다.
예를 들어 Windows Server 2008 R2 SP1(서비스 팩 1)에서 가상 머신을 호스팅하는 경우 가상 머신당 4개 이상의 CPU 코어를 사용할 수 없습니다. Windows Server 2012 이상에서는 가상 머신당 8개 이상의 CPU 코어를 사용합니다. 그런 다음 더 많은 가상 머신으로 스케일 업하는 대신 각 가상 머신에 대해 더 많은 CPU 코어로 스케일 아웃할 수 있습니다. 동일한 하드웨어 리소스를 사용하여 동일한 검색 구성 요소를 호스트하는 서버 또는 가상 머신을 설정합니다. 인덱스 구성 요소를 예로 들어 보겠습니다. 가상 머신에서 인덱스 파티션을 호스트하는 경우 성능이 가장 약한 가상 머신은 전체 검색 아키텍처의 성능을 결정합니다.
각 호스트 서버에 Windows Server 운영 체제 및 SharePoint Server 프로그램 파일의 기본 설치를 위한 충분한 디스크 공간이 있는지 확인합니다. 또한 호스트 서버에 진단(예: 로깅, 디버깅 및 메모리 덤프 생성), 일상적인 작업 및 페이지 파일에 사용 가능한 하드 디스크 공간도 필요합니다. 일반적으로 80GB의 디스크 공간은 Windows Server 운영 체제 및 SharePoint Server 프로그램 파일에 충분합니다.
각 데이터베이스 서버에 대해 SQL 로그 공간으로 사용될 저장소를 추가합니다. 데이터베이스를 자주 백업하도록 데이터베이스 서버를 설정하지 않은 경우 SQL 로그 공간이 많은 저장소를 사용합니다. SQL 데이터베이스를 계획하는 방법에 대한 자세한 내용은 스토리지 및 SQL Server 용량 계획 및 구성(SharePoint Server)을 참조하세요.
분석 보고 데이터베이스에 필요한 최소 저장소는 다를 수 있습니다. 스토리지의 양은 사용자가 SharePoint Server와 상호 작용하는 방식에 따라 달라지기 때문입니다. 사용자가 자주 상호 작용할 경우 일반적으로 저장할 이벤트가 더 많아집니다. 현재 검색 아키텍처가 분석 데이터베이스에 대해 사용하는 저장소 양을 확인하고 다시 디자인한 토폴로지에 대해 적어도 이보다 큰 공간을 할당합니다.
소규모 검색 팜의 최소 하드웨어 리소스
이 표에서는 각 응용 프로그램 서버 또는 데이터베이스 서버에 필요한 최소 하드웨어 리소스 크기가 나와 있습니다.
서버 | 호스트 | 저장소 | RAM | 프로세서1 | 네트워크 대역폭 |
---|---|---|---|---|---|
쿼리 처리 및 인덱스 구성 요소가 있는 응용 프로그램 서버 | A, B | 500GB2,3 | 32GB2,3 | 1.8GHz 8x CPU 코어2,3 | 1Gbps |
크롤링, 검색 관리, 분석 및 콘텐츠 처리 구성 요소가 있는 응용 프로그램 서버 | A, B | 200GB | 8GB | 1.8GHz CPU 코어 4개 | 1Gbps |
모든 검색 데이터베이스가 있는 데이터베이스 서버 | C, D | 100GB | 16 GB | 1.8GHz CPU 코어 4개 | 1Gbps |
1CPU 코어 수는 CPU 스레드 수가 아니라 여기에서 지정됩니다.
2SharePoint Server 2013을 사용하면 필요한 최소 리소스 크기는 500GB 스토리지, 16GB RAM 및 4개의 CPU 코어입니다.
3SharePoint Server 2016에서는 250GB 스토리지, 16GB RAM 및 4개의 CPU 코어를 사용할 수도 있지만 각 인덱스 구성 요소는 1,000만 개의 항목만 보유할 수 있으며 검색 팜은 SharePoint Server 2013 검색 팜과 동일한 양의 콘텐츠만 지원합니다.
중간 규모 검색 팜의 최소 하드웨어 리소스
이 표에서는 각 응용 프로그램 서버 또는 데이터베이스 서버에 필요한 최소 하드웨어 리소스 크기가 나와 있습니다.
서버 | 호스트 | 저장소 | RAM | 프로세서1 | 네트워크 대역폭 |
---|---|---|---|---|---|
쿼리 처리 및 인덱스 구성 요소가 있는 응용 프로그램 서버 | A, B, C, D | 500GB2,3 | 32GB2,3 | 1.8GHz 8x CPU 코어2,3 | 1Gbps |
인덱스 구성 요소가 있는 응용 프로그램 서버 | A, B, C, D | 500GB2,3 | 32GB2,3 | 1.8GHz 8x CPU 코어2,3 | 1Gbps |
분석 및 콘텐츠 처리 구성 요소가 있는 응용 프로그램 서버 | E, F | 300GB | 8GB | 1.8GHz CPU 코어 4개 | 1Gbps |
크롤링, 검색 관리 및 콘텐츠 처리 구성 요소가 있는 응용 프로그램 서버 | E, F | 100GB | 8GB | 1.8GHz CPU 코어 4개 | 1Gbps |
모든 검색 데이터베이스가 있는 데이터베이스 서버 | G, H | 400GB | 16GB | 1.8GHz CPU 코어 4개 | 1Gbps |
1CPU 코어 수는 CPU 스레드 수가 아니라 여기에서 지정됩니다.
2SharePoint Server 2013을 사용하면 필요한 최소 리소스 크기는 500GB 스토리지, 16GB RAM 및 4개의 CPU 코어입니다.
3SharePoint Server 2016에서는 250GB 스토리지, 16GB RAM 및 4개의 CPU 코어를 사용할 수도 있지만 각 인덱스 구성 요소는 1,000만 개의 항목만 보유할 수 있으며 검색 팜은 SharePoint Server 2013 검색 팜과 동일한 양의 콘텐츠만 지원합니다.
대규모 검색 팜의 최소 하드웨어 리소스
이 표에서는 각 응용 프로그램 서버 또는 데이터베이스 서버에 필요한 최소 하드웨어 리소스 크기가 나와 있습니다.
서버 | 호스트 | 저장소 | RAM | 프로세서1 | 네트워크 대역폭 |
---|---|---|---|---|---|
쿼리 처리 및 인덱스 구성 요소가 있는 응용 프로그램 서버 | A, B, C, D, E, G, H | 500GB2,3 | 32GB2,3 | 1.8GHz 8x CPU 코어2,3 | 1Gbps |
인덱스 구성 요소가 있는 응용 프로그램 서버 | A, B, C, D, E, F, G, H, I, J | 500GB2,3 | 32GB2,3 | 1.8GHz 8x CPU 코어2,3 | 1Gbps |
분석 및 콘텐츠 처리 구성 요소가 있는 응용 프로그램 서버 | K, L, M, N | 300GB | 8GB | 1.8GHz CPU 코어 4개 | 1Gbps |
크롤링 및 검색 관리 구성 요소가 있는 응용 프로그램 서버 | K, L | 100GB | 8GB | 1.8GHz CPU 코어 4개 | 1Gbps |
검색 데이터베이스를 포함하는 데이터베이스 서버 | O, P, Q, R | 500GB | 16GB | 1.8GHz CPU 코어 4개 | 1Gbps |
2SharePoint Server 2013을 사용하면 필요한 최소 리소스 크기는 500GB RAM, 16GB RAM 및 4개의 CPU 코어입니다.
3SharePoint Server 2016에서는 250GB 스토리지, 16GB RAM 및 4개의 CPU 코어를 사용할 수도 있지만 각 인덱스 구성 요소는 1,000만 개의 항목만 보유할 수 있으며 검색 팜은 SharePoint Server 2013 검색 팜과 동일한 양의 콘텐츠만 지원합니다.
초대형 검색 팜의 최소 하드웨어 리소스
이 표에서는 각 응용 프로그램 서버 또는 데이터베이스 서버에 필요한 최소 하드웨어 리소스 크기가 나와 있습니다. SharePoint Server 2016을 사용하여 이 샘플 팜만 빌드할 수 있습니다.
서버 | 호스트 | 저장소 | RAM | 프로세서1 | 네트워크 대역폭 |
---|---|---|---|---|---|
인덱스 구성 요소가 있는 응용 프로그램 서버 | A-X | 500GB | 32GB | 1.8GHz CPU 코어 8개 | 1Gbps |
쿼리 처리 및 인덱스 구성 요소가 있는 응용 프로그램 서버 | Y, Z | 500GB | 32GB | 1.8GHz CPU 코어 8개 | 1Gbps |
크롤링, 검색 관리 또는 콘텐츠 처리 구성 요소가 있는 응용 프로그램 서버 | AA-AF | 100GB | 8GB | 1.8GHz CPU 코어 4개 | 1Gbps |
분석 처리 구성 요소가 있는 응용 프로그램 서버 | AG, AH | 800GB | 8GB | 1.8GHz CPU 코어 4개 | 1Gbps |
검색 데이터베이스를 포함하는 데이터베이스 서버 | AI-AL | 500GB | 16GB | 1.8GHz CPU 코어 4개 | 1Gbps |
1CPU 코어 수는 CPU 스레드 수가 아니라 여기에서 지정됩니다.
저장소 성능 계획
저장소의 속도는 검색 성능에 영향을 줍니다. 사용 중인 저장소가 검색 구성 요소 및 데이터베이스의 트래픽을 처리할 수 있을 정도로 충분히 빠른지 확인하세요. 디스크 속도는 IOPS(초당 I/O 작업 수)로 측정됩니다.
검색 구성 요소 및 운영 체제의 데이터를 저장소 내에 배포하는 방식이 검색 성능에 영향을 줍니다. 다음과 같이 수행하는 것이 좋습니다.
Windows Server 운영 체제 파일, SharePoint Server 프로그램 파일 및 진단 로그를 일반적인 성능으로 세 개의 개별 스토리지 볼륨 또는 파티션에 분할합니다.
검색 구성 요소 데이터를 별도의 저장소 볼륨 또는 파티션에 저장합니다. 인덱스 구성 요소의 경우 이 저장소의 성능도 좋아야 합니다.
참고
호스트에 SharePoint Server를 설치할 때 검색 구성 요소 데이터에 대한 사용자 지정 위치를 설정할 수 있습니다. 데이터를 저장해야 하는 호스트의 모든 검색 구성 요소는 데이터를 이 위치에 저장합니다. 나중에 이 위치를 변경하려면 SharePoint Server를 다시 설치해야 합니다.
저장소 유형 선택
저장소 아키텍처 및 디스크 유형에 대한 개요는 저장소 및 SQL Server 용량 계획 및 구성(SharePoint Server 2013)를 참조하세요. 인덱스, 분석 처리 및 검색 관리 구성 요소 또는 검색 데이터베이스를 호스팅하는 서버에는 짧은 대기 시간을 유지 관리하면서 충분한 IOPS(초당 I/O 작업 수)를 제공할 수 있는 저장소가 필요합니다. 다음 표에는 이러한 각 검색 구성 요소 및 데이터베이스에 필요한 IOPS가 나와 있습니다.
SAN/NAS와 같은 공유 저장소를 배포할 경우 검색 구성 요소 하나의 최대 디스크 부하는 일반적으로 다른 검색 구성 요소의 최대 디스크 부하와 일치합니다. 공유 저장소에서 검색에 필요한 IOPS를 확보하려면 이러한 각 구성 요소에 대한 IOPS 요구 사항을 추가해야 합니다.
검색 구성 요소 IOPS 요구 사항
구성 요소 이름 | 구성 요소 정보 | IOPS 요구 사항 | 별도의 저장소 볼륨/파티션 사용 |
---|---|---|---|
인덱스 구성 요소 | 인덱스를 병합할 때와 쿼리를 처리하고 쿼리에 응답할 때 저장소를 사용합니다. | 64KB 임의 읽기의 경우 300IOPS 256KB 임의 쓰기의 경우 100IOPS 순차적 읽기의 경우 200MB/s 순차적 쓰기의 경우 200MB/s |
예 |
분석 구성 요소 | 로컬로 대량 처리되는 데이터를 분석합니다. | 아니요 | 예 |
크롤링 구성 요소 | 다운로드한 콘텐츠를 콘텐츠 처리 구성 요소로 보내기 전에 로컬로 저장합니다. 저장소는 네트워크 대역폭에 따라 제한됩니다. | 아니요 | 예 |
검색 데이터베이스 IOPS 요구 사항
데이터베이스 이름 | IOPS 요구 사항 | I/O 하위 시스템의 일반적인 부하 |
---|---|---|
크롤링 데이터베이스 | 보통~높은 IOPS | 1 DPS(초당 문서 수)당 10 IOPS의 크롤링 속도 |
링크 데이터베이스 | 보통 IOPS | 검색 인덱스의 항목 100만 개당 10 IOPS |
검색 관리 데이터베이스 | 낮은 IOPS | 해당 없음 |
분석 보고 데이터베이스 | 보통 IOPS | 해당 없음 |
검색 아키텍처에서 고가용성을 지원하는 방식 선택
고가용성 전략에 익숙하지 않은 경우 SharePoint Server에 대한 고가용성 아키텍처 및 전략 만들기를 시작하는 문서를 참조하세요. 별도의 장애 도메인에서 중복 검색 구성 요소 및 데이터베이스를 호스트하는 경우 팜의 한 부분에서 중단이 전체 서비스를 중단하지 않습니다. 그러나 검색 구성 요소가 더 이상 부하를 공유할 수 없으므로 검색 성능이 저하됩니다. 단일 서버 손실 가능성을 줄이려면 로컬 중복성을 개선하는 것이 좋습니다. 검색 아키텍처의 각 호스트 서버에 대해 다음을 수행합니다.
각 서버에서 RAID 저장소를 사용합니다.
각 서버에 여러 개의 중복 네트워크 연결을 설치합니다.
각 서버에 대해 독립된 배선 또는 UPS(무정전 전원 공급 장치)가 있는 여러 개의 중복 전원 공급 장치를 설치합니다.
모든 샘플 검색 아키텍처는 독립된 서버에 중복 검색 구성 요소를 호스팅합니다. 샘플 검색 아키텍처에서 각 호스트 쌍의 맨 오른쪽에 있는 호스트는 중복 호스트입니다. 개요가 있는 중복 호스트가 있는 대규모 검색 아키텍처는 다음과 같습니다.