ASP.NET WCF 서비스가 느리게… ASP.NET 앱 재활용 도움이 비활성화됩니까?
-
11-09-2019 - |
문제
특정 응답 시간 (1 분 미만)이 필요한 WCF 서비스가 있습니다.
내 문제는 너무나 자주, 대부분 아침에 서비스가 응답하는 데 오랜 시간이 걸린다는 것입니다 (때로는 2 분 이상).
나는 이것이 앱이 재활용되었고 첫 번째 달리기가 재 컴파일되어야하기 때문이라고 생각합니다.
이것이 일어날 수있는 다른 이유가 있습니까?
앱 재활용을 해제 할 수 있습니까? 그렇다면 부작용이나 불안정성이 발생할 수 있습니까? ASP.NET 앱이 재활용되도록 설정된 이유가 있어야한다고 가정합니다.
첫 번째 실행 성능을 향상시키기 위해 할 수있는 다른 일이 있습니까?
해결책
기본적으로 다음 규칙은 신청서가 재활용되거나 언로드 될 때 지시됩니다.
- 앱 풀 재활용 시간에 도달 한 후에는 기본적으로 29 시간마다 생각합니다.
- 마지막 신청 요청 후 설정 시간.
유지를 위해 핑을 사용하면 서비스가 2를 해결하면 1을 다루어야합니다.
IIS 버전에 따라이를 구성하는 방법에는 약간 다른 방법이 있습니다.
유휴 시간 시간 초과는 일반적으로 "진한"에 기본값을 만들지 만 ProcessModel 요소 (idletimeout 속성) 구성 파일의.
첫 번째 실행 성능 - 앱을 보지 않고는 말하기 어렵습니다. Dottrace 아니면 다른 프로파일 러?
첫 번째로드에서 집중 조회 및 캐싱 데이터를 많이하고 있습니까? 이것들이 연기 될 수 있습니까?
다른 팁
예, 앱풀이 재활용되는 것을 방지 할 수 있습니다. 또 다른 옵션은 근로자 프로세스가 수면을 막기 위해 서비스를 지속적으로 핑하여 유지하는 직무를 수행하는 것입니다.
성능 문제는 먼저 배제하지 않은 것에 의해 발생할 수 있습니다. 당신은 아무것도 배제하지 않았으므로, 그것은 전혀 아무것도 욕구에 기반을 둔 것일 수 있습니다.
어쩌면 어리석은 아이디어 : 오전 5시 30 분에 서비스를 받기 위해 콘솔 앱을 예약 할 수 있으므로이 요청이 실행하는 데 시간이 오래 걸리며 그 이후에 오는 일반 사용자가 문제가되지 않습니다. ?
물론 - 근본 원인을 다루지는 않지만 당분간 유용한 해결 방법 일 수 있습니까?
마크