Aplicativos windows sockets de alto desempenho

Os componentes de rede do Microsoft Windows foram desenvolvidos para desempenho e escalabilidade. Isso permite que os aplicativos maximizem a largura de banda de rede disponível. Os Windows Sockets e a pilha de protocolo TCP/IP do Windows foram ajustados e simplificados. Como resultado, os aplicativos do Windows gravados corretamente podem obter uma taxa de transferência e desempenho excepcionais, como ilustram os seguintes fatos:

  • O Windows é capaz de atender mais de 200.000 conexões TCP simultâneas.
  • Em um teste realizado pelo SPECWeb96, o Servidor de Informações da Internet no Windows serviu mais de 25.000 solicitações HTTP por segundo.
  • O Windows estabeleceu um registro de transmissão de mais de 750 Mbps em uma rede de gigabit transcontinental que consiste em 10 saltos.

Essas conquistas ilustram que o TCP/IP do Windows processa dados muito rapidamente. Muitos aplicativos, no entanto, não aproveitam os recursos de desempenho do Windows, TCP/IP e Windows Sockets porque, sem saber, implementam técnicas que dificultam o desempenho.

Neste guia, você aprenderá a identificar erros comuns de programação e como evitá-los. Em seguida, você aprenderá técnicas que permitem que os aplicativos do Windows Sockets sejam executados de forma ideal. Este guia é apresentado em seis seções. A ordem das seções é intencional; para aproveitar ao máximo este guia, leia-o em ordem. A tabela a seguir fornece links para cada seção, bem como uma breve descrição de cada tópico.

Tópico Descrição
Terminologia de rede Define a terminologia e as métricas de rede necessárias para entender o desempenho de um aplicativo de rede.
Dimensões de desempenho Discute dimensões de desempenho que afetam o desempenho de rede percebido e real de um aplicativo.
Características de TCP/IP Define características de protocolo TCP/IP que podem resultar em problemas de desempenho para um aplicativo mal escrito.
Comportamento do aplicativo Explica como reconhecer os sinais de um aplicativo de rede com baixo desempenho.
Melhorando um aplicativo lento Fornece exemplos de problemas de design de aplicativo que contribuem para um aplicativo de baixo desempenho e faz alterações no código para melhorar o desempenho.
Práticas recomendadas para aplicativos interativos Lista as práticas recomendadas a serem empregadas para desenvolver aplicativos de rede interativos ideais.