InfoPath Forms Services 관련 지침

업데이트 날짜: 2006년 12월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2007-02-24

InfoPath Forms Services 환경을 관리할 때 다음과 같은 최상의 방법을 따르는 것이 좋습니다.

Windows SharePoint Services 문서 라이브러리의 문서 제한 2,000개

총 2,000회 이상 양식 서식 파일을 채우고 전송해야 하는 경우 웹 서비스를 사용하여 데이터베이스에 전송하는 코드를 양식 서식 파일에 작성하거나 양식을 여러 라이브러리에 배치하는 사용자 지정 전송 함수를 만들어야 합니다. 이는 Windows SharePoint Services 3.0 문서 라이브러리의 용량에 한계가 있으므로 라이브러리에 문서가 2,000개 이상 있으면 성능이 저하될 수 있기 때문입니다.

양식 서식 파일이 2,000회 이상 전송될 것으로 예상되는 경우 문제가 발생한 후 문제를 수정하는 대신 처음부터 양식에서 대체 전송 방법을 사용하도록 프로그래밍하는 것이 좋습니다. 특히 양식 서식 파일이 공개적으로 액세스 가능한 웹 사이트에 제공되는 경우는 더욱 그러합니다.

InfoPath Forms Services의 세션 상태를 구성할 때 양식 보기 사용

InfoPath Forms Services에서 세션 상태 서비스(기본 옵션) 또는 양식 보기를 사용하여 사용자 세션 관리 방법을 제어하도록 구성할 수 있습니다. InfoPath Forms Services에서 세션 상태 서비스를 사용하도록 구성하면 웹 응용 프로그램에 연결된 SSP(공유 서비스 공급자)의 해당 SQL Server 데이터베이스에 모든 브라우저 세션이 유지 관리됩니다. 여기서 웹 응용 프로그램은 양식 서식 파일이 호스팅되는 프로그램입니다. 이 경우 네트워크 대역폭이 거의 사용되지 않지만 SQL Server를 실행하는 컴퓨터에 성능 영향이 누적될 수 있습니다. 양식 보기를 사용하는 경우에는 세션이 클라이언트 브라우저에서 유지 관리되며 서버에 대한 각 포스트백에 모든 세션 데이터(최대 40KB)가 포함됩니다. 이 경우 세션 상태를 사용할 때보다 많은 대역폭이 사용되지만 SQL Server를 실행하는 컴퓨터에는 영향을 주지 않습니다. 세션 데이터의 크기가 40KB에 도달하면 세션이 자동으로 세션 상태 관리로 전환됩니다.

사용자 그룹이 작은 환경에서는 SQL Server에 대한 영향을 줄일 수 있도록 양식 보기를 사용하는 것이 좋습니다. InfoPath Forms Services 배포 환경에 사용자가 많은 경우, 특히 사용량이 많은 양식 서식 파일에 대한 세션 데이터가 40KB 미만인 경우에는 세션 상태를 사용하는 것이 좋습니다. 양식 보기를 사용하면 네트워크 성능이 저하될 우려가 있는 경우 40KB 이하인 브라우저 세션에서 사용하는 대역폭을 모니터링할 수 있습니다.

프런트 엔드 웹 서버에서 SQL Server 실행하지 않기

예를 들어 단일 서버 평가 배포의 경우 Office SharePoint Server 프런트 엔드 웹 서버에서 SQL Server를 실행하면 ASP.NET 캐시가 SQL Server보다 낮은 임계값에서 시스템 메모리를 해제하므로 InfoPath Forms Services 메모리 기아 상태가 될 수 있습니다.

ASP.NET에서는 800MB 또는 사용 가능한 실제 RAM의 60% 중 작은 쪽을 최대 IIS(인터넷 정보 서비스) 메모리로 사용합니다. 이러한 설정은 IIS 관리자에서 구성할 수 있습니다. 또한 ASP.NET에서는 w3wp.exe 프로세스뿐 아니라 전체 시스템의 실제 RAM 사용량을 모니터링합니다. 서버에서 실제 메모리의 80%가 소모되면 ASP.NET에서 주기적으로 캐시 중 가장 오래되고 우선 순위가 낮은 5%를 삭제하기 시작합니다. 실제 메모리의 85%가 소모되면 ASP.NET에서 캐시 중 50%를 주기적으로 삭제합니다. 90% 이상이 소모되면 ASP.NET에서 적극적으로 캐시를 정리하고 최대 항목 수에 하한선을 설정하며, 이 동작은 ASP.NET에서 서버의 메모리 압력을 다시 평가하고 임계값을 올릴 때까지 적용됩니다.

SQL Server의 메모리 사용량 임계값은 기본적으로 ASP.NET 캐시보다 높습니다. 이러한 경우 SQL Server 임계값에 도달하기 전에 ASP.NET 캐시에서 미리 메모리를 해제하므로 SQL Server에서 메모리를 해제하지 않습니다. 이로 인해 InfoPath Forms Services의 처리량이 감소하고 성능이 지속적으로 저하될 수 있습니다.

이 문제를 해결하려면 SQL Server와 Office SharePoint Server가 같은 컴퓨터에 설치된 경우 SQL Server 메모리 제한을 수동으로 구성해야 합니다. SQL Server 메모리 설정 조정에 대한 자세한 내용은 Microsoft 웹 사이트에서 서버 메모리 옵션 (영문)(https://msdn.microsoft.com/ko-kr/library/aa196734.aspx) 문서를 참조하십시오.

익명으로 액세스 가능한 양식과 관련된 최상의 방법

공용 SharePoint 문서 라이브러리 또는 인터넷의 웹 페이지에 포함된 양식과 같이 익명 사용자에게 노출되는 위치에 양식을 배포하는 경우 양식의 무결성을 확인해야 합니다. 추가적으로 수행하면 양식을 잘못 사용하거나 DoS(서비스 거부) 공격 및 성능 문제가 발생할 위험을 줄일 수 있는 몇 가지 단계가 있습니다.

  • 스크립트 등의 자동화된 프로세스를 통해 양식 서식 파일에 액세스할 수 없게 합니다. 이를 위해 양식 서식 파일을 전송하는 사용자가 스크립트 또는 자동화된 프로세스에서 "읽을" 수 없는 이미지에 표시되는 짧은 영숫자 문자열과 같은 ID 코드를 입력하게 할 수 있습니다.

  • 인증 정보, 서버 또는 데이터베이스 이름, 저작권이 있는 코드와 같은 중요한 정보가 들어 있는 양식 서식 파일은 익명 사용자에게 노출하지 말아야 합니다.

  • 전자 메일 전송 데이터 연결이 들어 있는 양식 서식 파일은 익명으로 액세스 가능한 서버에 배포하지 말아야 합니다. 이렇게 하면 양식이 전송될 때 생성되는 전자 메일 메시지의 제목 줄에 "sent by anonymous user"가 표시됩니다.

  • 서버에서 프로세스를 호출할 수 있는 코드 또는 기능이 들어 있는 양식 서식 파일은 익명 사용자가 액세스해도 보안이 침범되지 않도록 주의 깊게 확인하고 테스트해야 합니다.

  • 사용자가 양식 복사본을 여러 개 전송할 수 없도록 양식을 전송하는 각 사용자의 IP 주소를 추적하고 같은 IP 주소에서 중복하여 전송할 수 없게 하는 코드를 포함시킬 수 있습니다.

  • 양식 서식 파일을 변경할 수 없게 하는 보호 기능을 사용하여 양식 서식 파일의 무결성을 보호합니다.