Поделиться через


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

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

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

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

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

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