0

SQL Server 2008 R2를 실행하는 8 대의 응용 프로그램 (VB.NET)이 있습니다. 데이터베이스가있는 각 응용 프로그램. 응용 프로그램은 서버에 있고 데이터베이스는 다른 서버에 있습니다.StateServer - System.Web.HttpApplication.BeginRequest SLOW

그냥 알려 :

서버 데이터베이스는 CPU 사용의 평균 30 %에 응용 프로그램 서버는 CPU 사용의 평균 60 %에 있습니다.

두 개의 동일한 구성을 가진 서버. 기본 구성 :

  • 8CPUs
  • 30기가바이트 메모리 램
  • 윈도우 서버 2008 R2

우리는 시스템에게 NewRelic 24 시간을 모니터링 할 수 있습니다. 그리고 큰 문제 : NewRelic은 항상 "System.Web.HttpApplication.BeginRequest()"으로 인한 속도 저하를 지적합니다. 문제는 그 두 번째 이미지에서

enter image description here

, 우리는 볼 수 있습니다 : " 응용 프로그램 코드 (System.Web.HttpApplication.BeginRequest())"

enter image description here

내가 검색 인터넷에서 많은 것을 발견했으며 아마도 "sessionState"와 관련이 있음을 발견했습니다. 나는 "StateServer"라는 8 개의 응용 프로그램을 모두 사용합니다. (그 이유는 "은 StateServer는"응용 프로그램이 더 빨리 될 것이라고이었다 사용할 수 있습니다.)

는 "sessionState의"구성에 따라 :

<sessionState 
     cookieless="UseCookies" 
     cookieName=".authz" 
     mode="StateServer" 
     regenerateExpiredSessionId="true" 
     stateConnectionString="tcpip=127.0.0.1:42424" 
     timeout="20" 
     useHostingIdentity="true" /> 

그리고 모든 곳에서, 내가 세션을 객체를 넣을 곳을, 나는 "사용 Serializable() ". 예 :

<Serializable()> Public Class Example 

어쨌든, 나는 여러분에게 상황을 설명하고 싶었습니다. 문제를 빨리 해결하고 해결하려면 어떻게해야합니까? 고맙습니다.

+0

드릴 다운하여 실제로 실행 된 코드를 확인하십시오. 분명히 BeginRequest는이 방법을 사용한 다른 메소드를 호출했습니다. BeginRequest 자체가 150ms 동안 실행되었다고 생각하는 것은 이치에 맞지 않습니다. 어떤 코드가 실행되었는지 확인하십시오. – usr

답변

0

thread agility and session state과 관련하여이 정보를 찾은 것으로 보입니다.이를 건너 뛸 수 있습니다. 누락 된 정보를 생각하면 Custom TransactionsCustom Instrumentation을 사용하여 에이전트가 누락 된 방법을 볼 수 있습니다.

맞춤형 계측을 수행하는 경우에도 기간은 변경되지 않습니다.