2013-03-02 2 views
0

큰 실버 라이트 앱에서 자주 호출 될 서비스가 많이있는 상황에 처해 있습니다. 매우 가벼운 테스트를 거친 후에 우리는 일들이 점점 더 거칠게 느려지는 것을 발견하고 있습니다. 나는 많은 전화를 통해 많은 서비스를 제공 한 것으로 의심된다.서비스 구성에서 성능을 어떻게 향상시킬 수 있습니까?

는 내가 통화 수 있지만 현재 부분적으로 만 가능할 것입니다까지 완전히 처음부터 다시 설계의 짧은을 줄이고 자. 내 서비스

모든

내 설정이 서비스의

   <services> 
     <service name="MyServices.Service"> 
      <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LargeBuffer" contract="MyServices.Interface.Service" /> 
     </service> 
    </services> 
    <bindings> 
     <basicHttpBinding> 
      <binding 
     name="LargeBuffer" 
     closeTimeout="00:10:00" 
     openTimeout="00:10:00" 
     receiveTimeout="00:10:00" 
     sendTimeout="00:10:00" 
     maxBufferSize="2147483647" 
     maxReceivedMessageSize="2147483647" 
     > 
     <security mode="None"> 
     <transport clientCredentialType="None" /> 
     </security> 
       <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
      </binding> 
     </basicHttpBinding> 
    </bindings> 

를 많이가 내 성능에 영향을 미치지 수, 바인딩 큰 버퍼가 필요하지 않습니다 여기에 자신의 서비스 행동 PerCall를 사용하도록 설정되어?

편집

자체가 효율적으로 실행하지만, 곧 우리가 일을 성능이 매우 중요하다 크롤

답변

1

에 와서 몇 백 요청에 도착, 나는이 유용 할 FastInfoset 인코딩을 발견 호출합니다. noemax에 의한 상업적 구현은 아주 좋은데 (무료 평가판이 있지만 무료는 아닙니다).

http://www.noemax.com/products/wcfx/index.html

그것은 또한 당신이 꽤 효율적으로 잘 압축을 수행 할 수 있습니다.

면책 조항 - Silverlight가 아닌 Windows에서만 사용했습니다. 그래도 실버 라이트를 지원한다고 주장합니다.

관련 문제