Распознавание медленных приложений
В этом руководстве приложение медленное определяется как приложение Microsoft Windows с пониженной производительностью. Медленное приложение демонстрирует один или несколько следующих симптомов:
Загрузка ЦП и сети низка.
Компьютер, как представляется, ждет чего-то. Часто приложение ожидает ответа от сети.
Отключение алгоритма Nagle с помощью параметра сокета TCP_NODELAY повышает производительность.
Это указывает на другие проблемы и не следует рассматривать решение. Отключение алгоритма Nagle увеличивает затраты на протокол. Не используйте этот метод в качестве исправления для неисправных приложений— только в качестве указания, что приложению требуется другая работа, чтобы устранить проблемы с производительностью.
Приложение демонстрирует высокие издержки.
Чтобы вычислить затраты на приложения, определите объем данных, которые вы намерены передать в каждом направлении. Затем используйте Netstat и добавьте (для Ethernet) 60 байт для каждого пакета и 500 байт для каждого подключения. Наилучшая нагрузка, которую можно ожидать для потоковой передачи через Ethernet, составляет примерно 6%. Для модемного соединения оптимальные накладные расходы составляют примерно 2%, так как канал PPP использует сжатие заголовков. См. раздел для вычисления накладных расходов с помощью Netstat для дополнительной информации.
Ответ приложения замедляется, когда подключение имеет большой RTT.
Если приложение не приближается к пропускной способности канала, большой RTT должен иметь мало или нет эффекта. Резкое замедление с большим RTT является явным признаком сериализованной обработки и множества небольших транзакций.
Каждое приложение должно тестироваться в среде с большим rtT. Это показывает большинство приложений, которые страдают от плохого выбора разработки. Это тестирование может выполняться в нескольких средах, включая беспроводную локальную сеть, симулятор задержки связи или спутниковую сеть.
Связанные разделы