고성능 Windows 소켓 애플리케이션
Microsoft Windows 네트워킹 구성 요소는 성능 및 확장성을 위해 개발되었습니다. 이를 통해 애플리케이션은 사용 가능한 네트워크 대역폭을 최대화할 수 있습니다. Windows 소켓 및 Windows TCP/IP 프로토콜 스택이 조정되고 간소화되었습니다. 따라서 다음과 같은 사실에서 알 수 있듯이 올바르게 작성된 Windows 애플리케이션은 뛰어난 처리량과 성능을 달성할 수 있습니다.
- Windows는 200,000개 이상의 동시 TCP 연결을 서비스할 수 있습니다.
- SPECWeb96에서 수행한 테스트에서 Windows의 인터넷 정보 서버는 초당 25,000개 이상의 HTTP 요청을 서비스했습니다.
- Windows는 10개의 홉으로 구성된 대륙 횡단 기가비트 네트워크에서 750Mbps 이상의 전송 기록을 설정했습니다.
이러한 도전 과제는 Windows TCP/IP가 데이터를 매우 빠르게 처리한다는 것을 보여줍니다. 그러나 많은 애플리케이션은 무의식적으로 성능 방해 기술을 구현하기 때문에 Windows, TCP/IP 및 Windows 소켓 성능 기능을 활용하지 않습니다.
이 가이드에서는 일반적인 프로그래밍 실수를 식별하고 이를 방지하는 방법을 알아봅니다. 그런 다음 Windows 소켓 애플리케이션이 최적으로 수행되도록 하는 기술을 알아봅니다. 이 가이드는 6개 섹션으로 제공됩니다. 섹션의 순서는 의도적입니다. 이 가이드를 최대한 활용하려면 순서대로 읽어보세요. 다음 표에서는 각 섹션에 대한 링크와 각 항목에 대한 간략한 설명을 제공합니다.
항목 | 설명 |
---|---|
네트워크 용어 | 네트워크 애플리케이션의 성능을 이해하는 데 필요한 네트워킹 용어 및 메트릭을 정의합니다. |
성능 차원 | 애플리케이션의 인식된 네트워크 성능과 실제 네트워크 성능에 영향을 주는 성능 차원에 대해 설명합니다. |
TCP/IP 특성 | 잘못 작성된 애플리케이션의 성능 문제를 초래할 수 있는 TCP/IP 프로토콜 특성을 정의합니다. |
애플리케이션 동작 | 성능이 저조한 네트워크 애플리케이션의 징후를 인식하는 방법을 설명합니다. |
느린 애플리케이션 개선 | 성능이 저하되는 애플리케이션에 기여하는 애플리케이션 디자인 문제의 샘플을 제공하고 성능을 향상시키기 위해 코드를 변경합니다. |
대화형 애플리케이션에 대한 모범 사례 | 최적의 대화형 네트워크 애플리케이션을 개발하기 위해 사용할 모범 사례를 나열합니다. |