Высокопроизводительные приложения сокетов 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, которые могут привести к проблемам с производительностью для плохо написанного приложения. |
поведение приложения | Объясняет, как распознать признаки плохо выполняющегося сетевого приложения. |
улучшение медленных приложений | Предоставляет примеры проблем с проектированием приложений, которые способствуют плохому выполнению приложения и вносят изменения в код для повышения производительности. |
рекомендации по интерактивным приложениям | Содержит рекомендации по разработке оптимальных интерактивных сетевых приложений. |