현재 ASP.NET MVC4 응용 프로그램을 Microsoft Azure에 배포 한 후 매우 성가신 성능 문제가 있습니다. 앱을 다시 시작한 직후 (또는 몇 분 동안 사용하지 않으면) 일부 페이지는 처음으로로드하는 데 약 15 초가 걸립니다. 이 후에 클라이언트 측 캐시를 지울 때도 페이지가 약 2 초 안에로드됩니다 (여전히 개선이 필요하지만 15 초보다 좋은 방법입니다). 여기 ASP.NET MVC4 페이지가 Microsoft Azure에서 매우 느리게 로딩 됨
는 이미 지금까지 시도했습니다 내용은 다음과 같습니다- 내가 더미 코드
- (가)에 제작 설정을 변경하여 데이터베이스 관련 코드를 대체하기 위해 Global.asax에있는 모든 이벤트를 통해 빗질 : «프리 D는 게시시»를 (가격 책정 계층 내 응용 프로그램이«건강한»간주됩니다«에 항상»
- 이 포털의 응용 프로그램 설정에서 활성화 하늘빛의«응용 프로그램 성능 분석»에 따르면
- 을 (하나의 어셈블리에 모든 출력을 병합) B1 [기본, 1 코어, 1 .75GB RAM] 따라서 always-on-switch는 공유 런타임 구성에 의해 무시되지 않는다고 가정합니다.
위의 글 머리 기호 중 아무 것도 내 문제를 해결하지 않았기 때문에 keppalive-Job 정기적으로이 같은 웹 사이트에 요청 Quartz.NET 사용 : 내 경우에는 (
new System.Net.WebClient().OpenRead("https://foo.azurewebsites.net");
을, 나는 효과가 here 언급 한 바와 같이의 Web.config 내 initializationPages을 선언하는 등 더 많거나 적은 동일합니다 생각하지 않습니다 그것?)
결과 : 작동하지만이 URL에만 적용됩니다. 모든 가능한 경로의 목록을 확실히 유지하는 것은 갈 길이 아닙니다.
이 문제를 해결해 봤습니까? 나는 당신의 의견을 높이 평가할 것입니다!
입력 해 주셔서 감사합니다. 언급하는 것을 잊어 버렸습니다. 앱의 가격 책정 등급은 B1 (무료 또는 공유 계획이 아님)입니다. 따라서이 경우 항상 켜기 옵션은 예상 한대로 작동해야한다고 생각합니다. 그렇지 않니? 나는 그 질문을 갱신 할 것이다. HTTP 요청을 조롱하는 것은 내가 피하려고 시도한 것입니다. 이는 URL의 목록을 유지한다는 것을 의미하기 때문입니다. – Alan
@Alan ... 답변입니다. 나는 당신의 상황에 정확히 그것을 사용한다. –
우리는 JIT 컴파일러가 워밍업을하도록 강제하기 위해 각 페이지에 대한 HTTP 요청을 조롱 할 수없는 것처럼 보일 수있다. :) 나는 내가 최종적으로 자신에게 만족 한 해결책을 자세하게 설명하기 위해 새로운 대답을 게시 할 것이다. 그러나 나는 올바른 방향으로 나를 인도 해주기 때문에이 대답을 받아 들일 것입니다. Travis & Big Daddy! +1 – Alan