나는 창백한 구름 서비스에 종사하고있다. 처음 로그인 버튼을 클릭하면 6 ~ 7 초가 걸리지 만 언젠가는 동일한 로그인 버튼을 클릭하면 2 초가 걸립니다. 왜 서버 측 코드가 두 프로세싱에서 동일하지만 후속 호출이 첫 호출보다 빠르지 만 왜 그런 일이 일어나는지 이해할 수 없습니다.첫 번째 서버 호출이 Windows Azure 클라우드 애플리케이션에서 후속 호출보다 더 많은 시간이 소요됩니까?
답변
"처음 공격"지연은 ASP.NET 응용 프로그램에서 매우 일반적입니다. JIT 컴파일의 오버 헤드가 있으며 다양한 "풀"(데이터베이스 연결, 스레드 등)이 초기화되지 않을 수 있습니다. ASP.NET Web Forms 응용 프로그램이있는 경우 각 .aspx 페이지는 서버가 처음 시작할 때 컴파일되며 서버가 시작될 때 컴파일되지 않습니다. 또한 후속 요청을 더 빠르게 만드는 다양한 캐싱 메커니즘 (서버 또는 클라이언트)은 첫 번째 히트에서 초기화되지 않습니다. 첫 번째 히트시 Application_Start의 모든 코드가 실행되어 라우팅 테이블을 설정하고 다른 초기화 작업을 수행합니다.
사용자가이 지연을 볼 수 없도록 여러 가지 조치를 취할 수 있습니다. 가장 간단한 방법은 새 페이지를 배포 한 후 모든 페이지를 조회하고 실행하는 자동화 된 프로세스를 작성하는 것입니다. 사이트가 실제로 배포 될 때 Application_Start보다 먼저 코드를 실행할 IIS 용 모듈도 있습니다. Search for "ASP.NET warmup"을 찾아보십시오.
ASP.NET 응용 프로그램 풀이 재활용되는 경우 일정 기간 사용하지 않으면 지연이 발생할 수도 있습니다. 이렇게하면 일련의 작업이 재설정되고 다음 요청시 시작 코드가 다시 실행됩니다. 사이트의 페이지를 자주 ping하도록 설정하여이 효과를 개선하면 응용 프로그램 풀이 재활용되면 다음 실제 사용자 요청 대신 자동으로 예열됩니다. 가동 시간 모니터링 서비스를 사용하면 Azure 생태계 자체 내에서이 작업 또는 예약 된 작업을 수행 할 수 있습니다.
- 1. 왜 Matlab DLL에 대한 첫 번째 호출이 후속 호출보다 훨씬 오래 걸립니까?
- 2. 서버로부터의 첫 번째 Firebase 호출이 후속 호출보다 훨씬 오래 걸리는 이유는 무엇입니까? 더 이상 후속 호출에 비해 20 배 - 서버에서 중포 기지에
- 3. Server.Transfer가 직접 호출보다 시간이 더 걸림
- 4. 정수를 ulong으로 변환하는 데 많은 시간이 소요됩니까?
- 5. JGoodies 바인딩이 EDT에 너무 많은 시간이 소요됩니까?
- 6. MongoDB - SQL보다 첫 번째 가져 오기에 더 많은 시간이 걸림
- 7. 두 번째 메서드 호출은 첫 번째 메서드 호출보다 훨씬 적은 시간이 걸립니다.
- 8. Azure 스토리지 계정 생성에 많은 시간이 걸립니다.
- 9. 컨텍스트 스위칭에 상당한 시간이 소요됩니까?
- 10. 후속 호출이
- 11. Windows Azure AD에 더 많은 클레임 추가
- 12. Webforms 사이트를 MVC로 포팅하는 데 얼마나 많은 시간이 소요됩니까?
- 13. 첫 번째 Windows Azure 사이트 배포
- 14. 은 SharedPreferences 액세스 시간이 소요됩니까?
- 15. 페이지의 Url.Action에 대한 첫 번째 호출이 느립니다.
- 16. sp_tables 호출이 차단을 야기하는 데 더 많은 시간이 걸림
- 17. Windows Azure 웹 사이트 Azure 클라우드 저장소
- 18. 쿼리의 첫 번째 실행이 후속 실행보다 느리게 실행되는 이유는 무엇입니까?
- 19. Windows Azure 플랫폼의 클라우드 환경
- 20. Windows Azure 클라우드 서비스가로드되지 않음
- 21. Windows Azure 클라우드 저장소 - 루트에 많은 파일이 포함되어있는 경우의 영향
- 22. 첫 번째 호출이 실패하고 두 번째 호출이 성공합니다.
- 23. SQL보고 서비스 : 첫 번째 호출이 매우 느립니다.
- 24. 비동기 WCF 호출에 더 많은 시간이 소요됩니다. 동기화 호출
- 25. 타이머가 더 많은 시간이 걸립니다.
- 26. 호출 MySQL의 기능은 명령 프롬프트에서 혼자 함수를 호출보다 훨씬 더 많은 시간이 소요
- 27. 표시되는 데 많은 시간이 걸리는 첫 번째 활동
- 28. symfony 첫 번째 호출에 너무 많은 시간이 필요합니다.
- 29. 첫 번째 시간 대 후속 사용
- 30. 첫 번째 함수 호출이 첫 번째 함수에 바인딩되는 이유는 무엇입니까?