Высокопроизводительные приложения windows Sockets

Сетевые компоненты Microsoft Windows были разработаны для обеспечения производительности и масштабируемости. Это позволяет приложениям максимально увеличить доступную пропускную способность сети. Сокеты Windows и стек протоколов WINDOWS TCP/IP были настроены и оптимизированы. В результате правильно написанные приложения Windows могут достичь исключительной пропускной способности и производительности, как показано ниже.

  • Windows может обслуживать более 200 000 одновременных TCP-подключений.
  • В ходе теста, проведенного SPECWeb96, Internet Information Server в Windows обслуживал более 25 000 HTTP-запросов в секунду.
  • Windows установила запись передачи более 750 Мбит/с в трансконтинентальной гигабитной сети, состоящей из 10 прыжков.

Эти достижения показывают, что Windows TCP/IP очень быстро обрабатывает данные. Однако многие приложения не используют возможности производительности Windows, TCP/IP и Windows Sockets, так как они неосознанно реализуют методы, препятствующие производительности.

В этом руководстве вы узнаете, как выявлять распространенные ошибки программирования и как их избежать. Затем вы узнаете о методах, позволяющих приложениям Windows Sockets работать оптимально. Это руководство представлено в шести разделах. Порядок разделов является преднамеренным; чтобы получить максимум от этого руководства, прочитайте его по порядку. В следующей таблице приведены ссылки на каждый раздел, а также краткое описание каждого раздела.

Раздел Описание
Терминология сети Определяет терминологию сети и метрики, необходимые для понимания производительности сетевого приложения.
Измерения производительности Рассматриваются измерения производительности, влияющие на воспринимаемую и фактическую производительность сети приложения.
Характеристики TCP/IP Определяет характеристики протокола TCP/IP, которые могут привести к проблемам с производительностью плохо написанного приложения.
Поведение приложения Объясняет, как распознать признаки низкопроизводительного сетевого приложения.
Улучшение медленного приложения Содержит примеры проблем с проектированием приложений, которые влияют на низкопроизводительное приложение и вносят изменения в код для повышения производительности.
Рекомендации по интерактивным приложениям Содержит рекомендации по разработке оптимальных интерактивных сетевых приложений.