2017-03-01 4 views
0

asp.net MVC5 응용 프로그램과 함께 ninject를 사용하고 있으며 스택 된 ajax 요청만으로 이상한 성능 동작을 실험합니다. 특정 페이지의 가난한 성능을 최적화하기 위해 찾고Webapp이 여러 개의 ajax 요청으로 인해 속도가 느려짐

, 나는 Application_BeginRequestApplication_EndRequest 컨트롤러에서 호출 된 메서드 내 하나 (의이 A를 부르 자) (의이 B를 부르 자) 사이에 스톱워치를 배치했다.

AB에 의해 만들어진 측정치가 동일한 크기로 std http 요청 (페이지 호출)을하면 결과가 일관됩니다.

문제점 : Ajax 요청에 따라 10 개의 테이블이있는 페이지를 표시합니다. 4 가지 첫 번째 요청은 정상 동작 (AB 시간은 각각 100ms 및 80ms 임)을 나타내며 나머지 6 개는 치명적인 성능을 보여줍니다. B은 약 80ms를 유지하는 반면 A10 초입니다.

이러한 방해를 피하기 위해 할 수있는 일이 있습니까? 애플리케이션의 서버 측에서 수행하는 것이 바람직합니까?

, 내가 질문 SessionState 범인이 [SessionState(SessionStateBehavior.ReadOnly)]를 사용하여 ReadOnly로 설정, 여기에 있었다 획기적으로 성능을 향상 것으로 보인다

+0

각 테이블을 독립적으로 테스트 해 보셨습니까? 테이블 # 5에 거대한 응답 크기가 있고 응답을 반환하려고 할 때 네트워크 대역폭을 모두 사용하면 궁금합니다. –

+0

@ Keith.Abramo 거의 빈 결과 (하나 또는 두 개의 행)와 100 개의 행을 가진 동일한 로딩 시간을 관찰합니다. –

+0

성능은 멀리서 문제를 해결하는 것이 유명한 것으로 유명합니다. 조직 외부의 누군가에게 합리적인 답을주기 위해 여러 가지 변수가 있습니다. 이는 사용중인 데이터베이스 유형, 버전, 해당 인스턴스의 리소스, 해당 네트워크가 상주하는 네트워크, 방화벽, 프록시, VLAN 등과 관련 될 수 있습니다. 또는 웹에서 문제가 될 수 있습니다. 서버, 리소스 사용률, 작업자, 응용 프로그램 풀 구성 등과 마찬가지로 마찬가지입니다. –

답변

0

을 완료 드리겠습니다 설정에 대한 정보를 주저하지 마십시오 Ajax 요청 중.

관련 문제