2010-08-02 4 views
0

몇 가지 다른 웹 서비스를 호출하는 MVC 응용 프로그램이 있습니다. 응용 프로그램에서 부하 테스트를 실행하는 동안 동시 사용자가 증가함에 따라 성능 (처리량과 응답 시간 모두)이 빠르게 저하되었음을 확인했습니다. 제거 프로세스에 의해, 빈 객체를 반환하고 html의 작은 비트를 생성하는 웹 서비스에 대한 단일 더미 호출을 제외한 모든 것을 제거했습니다.WCF 웹 서비스의 성능을 어떻게 향상시킬 수 있습니까?

동시 사용자가 100 명인 다른 서버 (Pylot 사용)에서 해당 테스트 페이지를 조회하면 분당 9,000 건의 요청이 가장 많습니다. 비교하면 정적 html (~ 70k)은 분당 약 20,000 건의 요청이 발생합니다. 또한 다른 서비스 (Solr 실행)를 호출하는 다른 테스트 페이지를 작성하고 간단한 쿼리를 위해 분 당 18,000 개의 요청을 처리했습니다.

이러한 "결과"에서 많은 부분을 해석하기가 어렵다는 것을 알고 있으므로,로드시 최적의 성능을 위해 WCF 웹 서비스를 조정하는 방법에 대한 정보를 찾고 있습니다.

+0

서비스가 IIS에서 호스팅됩니까? 당신은 응용 프로그램 풀에서 사용 가능한 작업자 프로세스의 수를 늘려 보았습니까? – Jason

+0

좀 더 구체적인 정보를 추가하는 것이 좋습니다. 그렇지 않으면 downvoted 및/또는 매우 일반적인 대답을 얻게됩니다. –

답변

1

우리 WCF 서비스에 대한 성능 작업을 한동안했는데, 주로 앱을 통과하는 통화 수준을 높이는 데있었습니다. 내가 잘하면 유용합니다 내가 블로그 게시물에서 배운 물건을 넣어 : 페이지 하단에 댄 릭스와 스콧 와인 스타 인 블로그 게시물에 대한 링크를 체크 아웃, 또한

http://theburningmonk.com/2010/05/wcf-improve-performance-with-greater-concurrency/

을, 그들이했던 일부 나는 WCF 성능을 향상시키기 위해 정말 좋은 게시물을 보냈습니다.

0

자세한 내용을 제공하지 않으면 확실하지 않지만 MVC 또는 WCF의 프로세스 공간이 부족합니까? MVC AsyncController를 사용하지 않으면 MVC에서 처리 공간이 부족할 수 있습니다. WCF 요청을 실행하면 UI의 IO 스레드를 소비하고 임계 값이 충족 된 후 다른 호출을 차단/대기시킵니다.

관련 문제