Share via


MOSS 2007 Performance Tuning Part1 - Session데이터 저장소 변경.

Sharepoint 2007과 관련된 Tuning 시리즈입니다.  Part1의 내용은 Sharepoint 2007에서 사용하는
세션저장소에 대한 내용입니다. 

기본적으로 Sharepoint에서 Session State를 Enable 시키게 되면 SQL Server를 사용하게 됩니다.
Session State를 Enable 시키기 위해서는 아래와 같이 중앙관리자> Application Management >
Configure Session State를 접근해서 구성할 수 있습니다.

위와 같이 "Enable Session State"를 선택한 상태에서 구성을 마치게 되면 web.config에는 아래와
같은 내용이 자동으로 입력됩니다.

Session관리와 관련된 테이블은 SSP DB의 테이블에 들어가게 됩니다. 

성능에 대한 이슈가 없다면 기본 구성으로 설정하고 사용해도 되지만, SQL Server의 Profiler등을
통해서 Tracing할 때 Session과 관련된 I/O 등으로 성능이 저하된다면 웹-서버의메모리에서
세션을 관리하는 InProc 방식으로의 변경을 고려해 볼 필요가 있습니다.

먼저 기존 SQL 서버방식에서 InProc 방식으로 변경하기 위해서 선행되어야 하는 조건은, L4에서
특정 웹-서버에 연결된 client의 요청이 계속 같은 서버로 가야한다는 전제조건이 있습니다. 

SQL 서버나 State Server 등으로 관리할 때는 중앙관리 방식이라 이런 점이 문제가 되지 않지만,
InProc 방식은 특정 서버의 메모리에서 관리되는 방식이므로 요청이 계속 같은 서버에서 처리되어야
합니다.

조건이 만족되었다면 InProc 방식으로 변경하는 작업을 진행합니다.

1) Session State 구성화면에서 Enable Session State의 체크를 해제합니다.

설정 변경 후 web.config를 열어보면 <SessionState> 태크가 없어진 것을 확인할 수 있습니다.
SessionState의 경우 기본 값이 InProc 이므로 이 모드로 동작하게 됩니다.

2) 추가적으로 해주어야 할 일은 web.config에서 아래와 같이 Session 모듈이 주석처리 되는데
주석처리된 부분을 풀어주시면 됩니다.

 

  <httpModules>         <!--<add name="Session" type="System.Web.SessionState.SessionStateModule"/>-->

Happy Sharepoint!!

 

 

By junpark