시나리오 : ASP.NET MVC 웹 응용 프로그램은 2 년 동안의 데이터를 요청하는 Java 웹 서비스를 호출합니다. 웹 서비스의 응답 크기는 다음과 같습니다.웹 서비스 성능 최적화
Request Count: 1
Bytes Sent: 937 (headers:396; body:541)
Bytes Received: 689,300 (headers:338; body:688,962)
약 2 분이 걸립니다. 이로 인해 ASP.NET이 느리게 실행되고 결과적으로 사용자에게 불만이 생깁니다. 자바 녀석들과 얘기 해보면 성능을 최적화하기 위해 최선을 다한 이 있습니다.
제 3 자에게 웹 서비스 호출을 최적화하는 최선의 방법을 알려주시겠습니까?
- 이 ASYC 호출로 일년 각각에 2 년 데이터를 세분화 : 아래 것들의 목록은 내가 해봤 도움이되지 않은 것입니다.
- 메시지 크기를 줄여야 페이로드가 이되도록 Java 팀원에게 요청했습니다.
여전히 성능이 향상되지 않았습니다.
단순히 2 년 데이터를 요청하고 캐시를 채우는 비동기 VOID 방법을 만드는 경우이 방법이 효과가 있습니까? 주요 관심사는이 VOID 메소드를 완료하기 위해 로그인 프로세스가 을 기다려야하는지 여부입니다.
나는 비슷한 작업을 많이했고 asp.net은 느리게 실행되지 않습니다. 어쩌면 당신은 그것이 느리게 실행되는 지점을 조사해야합니다. 하드웨어에 메모리 문제가 있습니까, 사용자의 나머지 부분을 잠그는 SQL 데이터에 어떤 종류의 잠금이 있습니까? 또한 천천히 정의 할 필요가 있고, 작업이 끝날 때까지 돌아 오지 않는다. 반환 값은 무엇인가? 당신이 SQL 스레드 우선 순위를 변경하는 경우에도 나쁜 SQL 설치, 그것을 할 수 있습니다. 느린 것을보고 서버에 액세스 할 수 있습니까? – Aristos
각 사용자마다 서로 다른 2 년간의 데이터가 필요합니까? – dove
먼저 http 채널을 모니터링하여 요청을 보낸 시간과 응답의 첫 번째 바이트가 반환 된 시간을 강조 표시해야합니다. 그런 다음 응답 전송 시간 및 처리량을 측정하십시오. 그러면 정확히 무엇이 시간이 걸리는지 보여줄 것입니다. –