2016-08-22 2 views
0

내가 진행중인 프로젝트는 모두 https 요청 성능에 관한 것입니다. 나는 다른 이들 중에서 가장 빨리해야합니다.HTTPS 요청 성능을 위해 C#에서 C#으로 마이그레이션해야합니까?

대부분의 요청 성능은 내 서버와 호스트 간의 물리적 연결에 따라 달라진다는 것을 알고 있습니다. 요청 당 30ms가되도록이 요소에 최선을 다 했으므로 현재 다른 부품의 개선을 찾고 있습니다. 몇 밀리 초가 중요 할 수 있습니다.

네이티브 코드가 빠르게 작동하고 암호화와 같은 작업이 관리자 코드와 함께 처리되는 시간이 절반으로 줄어들고 HTTPS 요청도 암호화가 필요하다고 들었지만 시간이 어느 정도인지는 알지 못합니다.

조언을 해 주시겠습니까? 아니면 다른 사람이 차이를 테스트 했습니까?

+1

어떤 응용 프로그램이 느린가요? – TZHX

+0

나는 C#으로 제한하기 때문에 느린 응용 프로그램의 일부를 보지 못합니다. 특히 HTTPS 요청 성능을 향상시키고 싶습니다. 예기치 않은 성능 향상을 가져올 수 있다고 생각합니다. –

+1

직접 조언이 없기 때문에 대답이 아닙니다. 암호화는 코드에 의해 수행되지 않지만 라이브러리에 의해 수행됩니다 따라서 성능은 해당 라이브러리의 품질을 기반으로합니다. 나는 C#이 암호화 (심지어 C 또는 C++로 작성된 것일 수도 있음)에서 성능이 없다는 것을 알면 놀랄 것입니다. C++은 웹 개발을 염두에두고 작성된 적이 없으므로 C++로 전환하려면 다른 라이브러리를 사용해야하는 연구가 필요합니다. 따라서 코드가 실제로 요청 당 밀리 초 작업을 수행하고 있다는 것을 알지 않으면 전환하지 않을 것입니다. 반면에, 당신이 시도하지 않는 한 당신은 결코 알 수 없을 것입니다. – stefaanv

답변

1

네이티브 코드로 만들면 응용 프로그램 시작 시간에이기는 것 같습니다.

HTTP 요청 작업에 .NET 메서드를 호출하는 경우 요청을 처리하는 네이티브 코드가 있으며 HTTPS 작업에 TLS를 수행합니다. 차이점을 최대한 활용하는 코드의 중요한 부분은 이미 기본 코드입니다. 네이티브 코드 위의 객체를 관리 코드로 전달할 때 성능상의 손실이 있습니다. 모르는 정도이며 정확한 사용 사례를 벤치마킹하지 않으면 아무도 정확히 알 수 없습니다. 당신이 거대한 처리량을 처리하고 있다면 밀리 초의 차이를 만들 수 있다고 생각합니다.

+0

.NET 코드 중 일부를 살펴 보았습니다. 이 경우 벤치마킹하지 않아도 시간을 절약 할 수 있습니다. 고맙습니다 –