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


Распознавание медленных приложений

Это руководство определяет медленное приложение как приложение Microsoft Windows с низкой производительностью. Медленное применение проявляет один или несколько из следующих симптомов:

  • Загрузка ЦП и сети низкая.

    Компьютер, кажется, ждет чего-то. Часто приложение находится в ожидании в сети.

  • Отключение алгоритма Nagle с помощью параметра сокета TCP_NODELAY повышает производительность.

    Это указывает на другие проблемы и не должно рассматриваться как решение. Отключение алгоритма Nagle увеличивает нагрузку на протокол. Не используйте этот метод в качестве исправления для неисправных приложений. Это означает, что приложению требуется другая работа по устранению проблем с производительностью.

  • Приложение выполняет большие накладные расходы.

    Чтобы вычислить затраты на приложения, определите, сколько данных вы планируете передавать в каждом направлении. Затем используйте Netstat и добавьте (для Ethernet) 60 байт для каждого пакета и 500 байт для каждого подключения. Наилучшие издержки, которые можно ожидать для потоковой передачи по Ethernet, составляют примерно 6%. Для модемного подключения лучшие издержки составляют около 2 %, так как при канале PPP используется сжатие заголовков. Дополнительные сведения см. в статье Вычисление накладных расходов с помощью Netstat .

  • Отклик приложения замедляется, если подключение имеет большой RTT.

    Предполагая, что приложение не приближается к пропускной способности канала, большой RTT должен иметь малое влияние или вообще не иметь никакого эффекта. Резкое замедление с большим RTT является явным признаком сериализованной обработки и большого количества небольших транзакций.

Каждое приложение должно быть протестировано в среде с большим rtt. Это показывает, что большинство приложений страдают от плохого выбора разработки. Это тестирование может выполняться в нескольких средах, включая беспроводную локальную сеть, симулятор задержки канала или спутниковую сеть.

Поведение приложения

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

Нейгл алгоритм