2014-11-01 3 views
0

여러 기술과 구성 요소 (예 : WCF, C#, Web API)가있는 .net 응용 프로그램이 있습니다. 응용 프로그램은 특정 수준까지 잘 확장되지만 그 후에는 상당히 빨리 또는 나 빠지기 시작합니다..NET 응용 프로그램의 확장 성 향상

예 : 250 명의 사용자가 시스템에 연결 한 후 충돌이 발생하고 더 이상 연결/사용자를 처리 할 수 ​​없습니다.

누군가가 위에서 언급 한 기술 또는 IIS를 따라야하는 일반적인 용어로 확장 성을 향상시킬 수있는 방법을 제안 할 수 있습니까?

이 점에 대해 도움을 주시면 감사하겠습니다.

답변

0

당신은 XPerf성능 모니터링 또는 unsing 시스템을 프로필과 충돌의 원인을 확인하기 위해 시작할 수 있습니다. 그것은 RAM 사용이 될 수 있습니다. 활성 세션이 여러 개 있으면 메모리가 부족해질 수 있습니다.

또한 CPU가 이와 같이 많은 수의 동시 요청을 처리 할 수 ​​없거나 네트워크 대역폭을 가지고 있지 않을 수도 있습니다.

당신이 충돌의 원인을 찾아 내면, 당신은 (예를 들어, 감소 메모리 풋 프린트 긴 기간 기능 등 최적화) 코드를 최적화 시작 여기에이 개 방법이 있습니다

0

그리고 당신은 아마 모두에서 볼 필요가 있습니다.

첫 번째는 WebAPI 및 WCF에서 요청을 처리하는 데 걸리는 시간입니다. RedGate Performance Profiler 또는 이와 유사한 도구를 사용하여 요청 당 가장 많은 시간을 차지하는 항목을 확인하십시오.

는 다음 중 하나

  • 리팩토링 다음 다음 하드웨어에서 찾고있다

가능한 코드

  • 사용 캐싱을 찾습니다. 예를 들어 Azure를 사용하는 경우 Azure가로드 균형 조정을 제공하는 더 큰 인스턴스와 그 중 많은 인스턴스를 선택합니다. Azure를 사용하지 않는다면로드 밸런싱을 설정하는 것이 조금 더 어려울 수 있지만 이는 확장 할 수있는 유일한 다른 방법입니다.

    먼저 성능 도구를 사용하여 코드를 확인한 다음 하드웨어가 더 빠르게 움직이지 않는지 확인하십시오. 하지만 250 명의 사용자가 문제를 너무 많이해서는 안되므로 코드가 성능이 현저하게 향상 될 수 있다고 생각합니다.

  • 관련 문제