Project Server 2013에서 성능 최적화
요약: Project Server 2013 배포의 성능을 최적화하기 위한 지침을 제공합니다.
적용 대상: Project Server 2013
최적화
이 문서 및 관련 콘텐츠에는 최적화된 성능을 위해 Project Server 2013 팜을 튜닝하기 위한 정보 및 권장 사항이 포함되어 있습니다.
기준선 지정
일반적으로는 지정된 시간에 저장하는 초기 계획의 수를 제한하는 것이 좋습니다. 지정된 시간에 지원되는 초기 계획의 수에 대한 하드 한도는 11개입니다.
데이터베이스 서버 최적화
Project Server 2013은 데이터를 많이 사용하는 응용 프로그램이므로, 데이터베이스 계층을 최적화하면 성능을 크게 향상시킬 수 있습니다. SQL Server 설정 최적화와 관련된 광범위한 지침은 SQL Server 저장소 용량 계획 및 구성 항목을 참조하십시오. 이 문서에서는 SQL Server 항목에 나와 있는 권장 사항을 부연 설명합니다.
데이터베이스 파일과 트랜잭션 로그 파일을 OS 드라이브가 아닌 다른 위치(각각 자체 파티션이 좋음)에 별도로 보관합니다. 이렇게 하면 호스트 운영 체제와 SQL Server 간, 그리고 SQL 데이터베이스 파일과 로그 파일(사용하는 복구 전략에 따라 업데이트 패턴이 달라짐) 간의 IO 경합이 감소하므로 성능을 개선하는 데 도움이 됩니다.
TempDB를 자체 파티션에 분리합니다. 데이터베이스를 여러 물리적 파일로 분할합니다. 이상적으로는 데이터베이스 서버에 프로세서가 있는 만큼 많은 파일로 분할합니다.
데이터 요구에 따라 RAID 하위 시스템을 사용할 수 있습니다.
참고 - RAID 5는 중간 및 큰 데이터 세트 크기에 사용할 수 있지만 RAID 10이 이상적입니다.
참고 - 인덱스를 자체 파티션으로 이동합니다.
마스터 프로젝트 최적화
Project Server에서 마스터 프로젝트 기능을 사용하는 경우 마스터 프로젝트 일정을 변경하면 해당 마스터 프로젝트 내 하위 프로젝트의 일정에도 영향을 줍니다. 따라서 매우 큰 마스터 프로젝트의 일정을 변경할 때는 해당 하위 프로젝트 계획을 업데이트해야 할 수 있으므로 실행 속도가 느려질 수 있습니다.
보안 설정 최적화
참고 - SharePoint 사용 권한 모드를 사용하는 경우 최적화가 필요하지 않습니다.
Project 권한 모드에서는 사용자에 대해 선택하는 보안 설정이 성능 특성에 큰 영향을 줄 수 있습니다. 해당 보안 설정에 따라 사용자가 프로젝트를 볼 때 로드하는 데이터의 양과, 사용자에게 권한이 있는 데이터 집합을 확인하기 위해 수행되는 보안 검사의 복잡도가 결정되기 때문입니다.
예를 들어 관리자는 Project Server에 저장된 모든 프로젝트 액세스 권한을 가지므로 프로젝트와 상호 작용할 때 모든 데이터를 로드해야 합니다. 팀 구성원의 경우 모든 데이터 액세스 권한이 필요하지 않을 수 있으므로 보안 종류를 통해 팀 구성원에게 전송되는 데이터의 양을 제한할 수 있습니다.
- 가능한 경우에는 더욱 복잡한 보안 검사를 수행해야 하는 세분화된 권한 대신 그룹과 종류를 사용합니다.
- 사용자의 보안 권한을 사용자가 액세스해야 하는 프로젝트로 제한합니다. 이렇게 하면 사용자가 Project Server와 상호 작용할 때 필요한 데이터만 로드하면 됩니다.
보기 최적화
지정된 보기의 열 수를 해당 보기에 대한 권한이 있는 사용자가 확인해야 하는 열로만 제한하여 사용자에게 표시되는 데이터를 제한해야 합니다. 또한 사용자 정의 필드 열을 추가하면 보기 성능에 보다 좋지 않은 영향을 주게 됩니다.
필터를 사용하여 특정 보기를 로드할 때 로드해야 하는 데이터의 양을 제한할 수 있습니다. 그러나 복잡한 논리를 포함하는 필터의 경우 계산을 추가로 수행해야 하며 그로 인해 성능이 저하될 수 있습니다.
사용자 정의 필드 최적화
사용자 정의 필드 사용이 성능에 주는 영향은 사용하는 사용자 정의 필드(부서 및 Enterprise 사용자 정의 필드 둘 다 해당)의 다양한 측면에 따라 달라집니다. 다음은 사용자 지정 필드의 성능 측면에 대한 몇 가지 고려 사항 및 제안 사항입니다.
사용자 정의 필드가 성능에 주는 영향은 다음 항목에 따라 달라집니다.
사용자 정의 필드가 성능에 주는 영향은 다음 항목에 따라 달라집니다.
- 사용하는 사용자 정의 필드에 저장되는 데이터의 양. 지정된 사용자 정의 필드 열에 데이터가 별로 없는지 아니면 매우 많은지에 따라 성능에 주는 영향이 달라집니다.
- 수식 필드의 경우 적용하는 수식이 복잡할수록 성능에 더 좋지 않은 영향을 줍니다.
- 사용자 정의 필드가 사용되는 수준
사용하는 사용자 정의 필드에 저장되는 데이터의 양. 지정된 사용자 정의 필드 열에 데이터가 별로 없는지 아니면 매우 많은지에 따라 성능에 주는 영향이 달라집니다.
수식 필드의 경우 적용하는 수식이 복잡할수록 성능에 더 좋지 않은 영향을 줍니다.
사용자 지정 필드가 발생하는 수준입니다. 대개 데이터 집합에는 프로젝트보다 작업의 수가 훨씬 많기 때문에 작업 수준에서 적용된 사용자 정의 필드는 프로젝트 수준 사용자 정의 필드에 대해 성능에 훨씬 더 좋지 않은 영향을 줍니다.
일반적으로는 사용되는 사용자 정의 필드의 수(특히 작업 수준)를 제한해야 합니다. 일반적으로 10~15개 미만의 작업 수준 Enterprise 사용자 지정 필드를 사용하려고 합니다.
Project Professional에서 서버로 저장할 때 가장 자주 표시되는 고객 데이터 집합에서 병목 현상을 발생시키는 주요 원인은 작업 및 배정 사용자 정의 필드입니다.
로컬 사용자 정의 필드 최적화
사용자 정의 필드 사용 최적화와 관련된 권장 사항에 따라, Project 클라이언트에서 사용되는 로컬 수식 필드의 수를 제한하여 로컬 수식 필드 사용을 최적화합니다.
사용자 지정 필드의 성능 영향은 특히 수식 필드의 사용 제한에 따라 달라집니다. 수식 필드는 서버에 저장하는 데 필요한 시간을 늘리는 추가 데이터 전송이 필요하기 때문에 가능합니다.
페이지 페이로드 최적화
지정된 페이지의 로드 시간을 결정하는 데 가장 중요한 요소 중 하나는 지정된 페이지 요청에서 액세스해야 하는 데이터의 양입니다. 이 수치는 대개 웹 파트의 수와 유형, 그리고 지정된 페이지에서 웹 파트에 표시되는 데이터의 양에 따라 결정됩니다. Project Server 페이지의 페이로드 제한과 관련된 몇 가지 일반적인 권장 사항은 다음과 같습니다.
이러한 웹 파트가 로드하는 데이터의 양을 로드해야 하는 데이터로만 제한합니다.
페이로드 고려 사항은 지정된 페이지에 웹 파트가 많고 보다 많은 사용자 정의 작업이 수행되는 PDP(프로젝트 세부 정보 페이지)의 경우 특히 중요합니다.
큐 최적화
Project Server 2013에서는 큐 시스템을 사용하여 요청 서비스 방법을 처리하므로 전반적으로 더 많은 수의 요청을 처리할 수 있습니다. 큐 설정 페이지에서는 큐 작동 방법과 관련된 특정 설정을 변경할 수 있습니다. 이 섹션에서는 수정할 수 있는 설정 및 필요에 따라 이러한 설정을 최적화하는 방법에 대해 간략하게 설명합니다. 최대 스레드 수(1-20, 기본값 4): 큐가 지정된 시간에 병렬로 처리할 수 있는 작업의 수를 결정합니다. 이는 팜의 모든 컴퓨터에 적용됩니다. 애플리케이션 서버가 3개이고 프로젝트 큐에 대해 이 값을 4로 설정하면 한 번에 최대 12개의 독립 프로젝트 작업을 처리할 수 있습니다.
최대 스레드 수(1-20, 기본값 4): 큐가 지정된 시간에 병렬로 처리할 수 있는 작업의 수를 결정합니다. 이는 팜의 모든 컴퓨터에 적용됩니다. 애플리케이션 서버가 3개이고 프로젝트 큐에 대해 이 값을 4로 설정하면 한 번에 최대 12개의 독립 프로젝트 작업을 처리할 수 있습니다.
큐에 대기된 작업이 동시 작업용 리소스를 과도하게 사용하는 경우에는 다음을 시도할 수 있습니다.
병렬로 처리되는 작업 수가 많은 경우, 즉 큐 상태를 확인할 때 "처리 중" 상태인 작업이 동시에 여러 개 표시되는 경우에는 스레드 수를 줄여 볼 수 있습니다.
작업 프로세스 최적화
Project Server 배포를 작동하고 유지 관리하는 방법의 특정 측면은 Project Server의 인식된 성능을 개선하는 데 도움이 될 수 있습니다. 이 섹션에서는 사용자들이 시스템과 가장 많이 상호 작용하는 기간 동안 Project Server의 체감 성능을 개선하는 데 도움이 되는 비즈니스 또는 IT 관련 프로세스 수정 사항 목록을 제공합니다.
- 작업표 작성 및 상태 전송
- 가능한 경우에는 각 사용자가 상태 업데이트 및 작업표를 서로 다른 시간에 전송하도록 합니다. 그러면 부하를 더 긴 시간 간격으로 분산함으로써 사용량이 많은 시간 동안 시스템에 대한 부담을 줄일 수 있습니다.
- 백업을:
- 가능한 경우 비성수기 동안 백업 프로세스를 실행하려고 시도해야 합니다. 이는 실행 중인 동안 시스템을 사용하려는 사용자의 인식된 성능을 저하시키는 리소스 집약적 프로세스이기 때문에 필요합니다.
- 보고:
- 백업 프로세스와 마찬가지로 비성수기 동안 보고하기 위해 OLAP 큐브 빌드를 실행해야 합니다. 이러한 프로세스는 실행 중인 동안 시스템을 사용하려는 사용자의 인식된 성능을 저하시키는 리소스 집약적 프로세스입니다.
- SharePoint 사용 권한 모드
- SharePoint 사용 권한 모드가 사용하도록 설정된 경우에는 "SharePoint 사용자 동기화"를 수행할 필요가 없으므로 성능이 개선됩니다.
워크플로 최적화
워크플로 기능을 사용 중인 경우에는 배포 성능에 영향을 주는 다음과 같은 작업에 주의해야 합니다.
- 데이터베이스에 많은 수의 프로젝트가 저장되어 있는 경우 서버 설정에서 "워크플로 변경 또는 다시 시작" 페이지 로드(시간이 오래 걸릴 수 있음)
- 서버 설정의 워크플로 변경 또는 다시 시작 페이지에서 많은 프로젝트에 대해 EPT 다시 시작 또는 변경
- 매우 많은 수의 사용자에 대해 승인 프로세스 수행
- 워크플로 스테이지에서 동시에 여러 프로젝트 제출(체크 인 필요 없음)
이러한 작업은 일반적으로 최소화하거나 트래픽이 적은 기간에 실행하여 체감 성능을 최적화하는 것이 좋습니다.
사용자 지정 솔루션(프로그래밍 기능) 최적화
Project Server 프로그래밍 가능 인터페이스와 상호 작용하는 사용자 지정 솔루션을 개발할 때는 다음과 같은 성능 권장 사항을 고려합니다.
- 이벤트 처리기를 배포하는 경우 이벤트 처리기가 동기적이라는 점에 유의하세요. 사용자 지정 솔루션에서 이벤트 처리기를 사용할 때는 비효율적으로 활용되어 Project Server의 성능을 크게 높일 수 있는 것처럼 주의해야 합니다.
참고
이벤트 처리기는 다른 컴퓨터에서 실행할 수 있습니다.
- 큐 오버로드를 방지하기 위해 사용자 지정 솔루션이 Project Server에서 큐 작업에 대해 실행하는 호출 수를 제한해야 합니다.
- LOB(기간 업무) 응용 프로그램의 경우, Project Server와 다른 응용 프로그램 간의 데이터 이동을 자동화할 때 이러한 응용 프로그램 유형과의 동기화 시 성능이 크게 떨어진다면 사용량이 많지 않은 기간에 동기화를 실행하는 것이 좋습니다.
- 고객은 사용자에 대한 성능뿐 아니라 LOB 응용 프로그램 성능도 테스트 및 모니터링하는 것이 좋습니다.
- 가능한 경우에는 사용자 정의 필드가 아닌 내장 Project Server 필드를 사용하여 Project Server와 LOB 응용 프로그램 간에 원하는 동기화를 수행합니다.
- LOB 응용 프로그램과 Project Server 간에 이동하는 데이터의 양을 원하는 기능을 수행하는 데 필요한 최소한의 하위 집합으로 줄입니다.
사용자 지정 솔루션 개발 시 높은 성능을 유지하는 방법에 대한 추가 권장 사항은 Project Server 2013 SDK 및 관련 문서에서 확인할 수 있습니다.
참고 항목
Project Server 2013의 성능 및 용량 계획 개요
Project Server 2013에 대한 용량 계획 전략
Project Server 2013의 성능 및 용량 관련 하드웨어 권장 사항
Project Server 2013의 수직 확장 토폴로지와 수평 확장 토폴로지