Вот в чем дело ... У меня очень низкая скорость копирования файлов с клиентов Windows XP на серверы Windows 2008R2. Вот факты: от Windows XP до Windows 2K3: быстро от Windows XP до Windows 2K8: очень медленно от Windows 7 до Windows (любой): быстро
Несмотря на то, что очевидным решением было бы перейти на Windows 7, ну, у нас 900 рабочих столов, так что это не вариант в ближайшее время.
Я перепробовал все: отключение SMB2.0, отключение сигнатур безопасности, изменение размера окна TCP, отключение автонастройки W2K8, обновление драйверов и т. Д.
Мы устранили сеть; и сервер, и клиент подключены к одному и тому же базовому коммутатору (без переходов, без маршрутизаторов, к одной и той же VLAN).
После мониторинга сети с помощью утилиты захвата пакетов мы видим, что пакеты SMB, которыми обмениваются машины W2K8 и XP, представляют собой очень маленькие пакеты (256 байт); несмотря на то, что MTU установлены правильно (1500) и никакой фрагментации нет. Фактически, эти пакеты SMB показывают в дейтаграмме IP, что окно 65535 или близко.
Та же самая трассировка, сделанная с использованием того же приложения, но вместо использования общего ресурса W2K8, использует общий ресурс Windows XP (и который идет FAST), показывает пакеты SMB размером 4096 байт. При необходимости могу выложить следы.
Итак, почему согласование XP-> W2K8 обеспечивает 24-байтовую полезную нагрузку SMB, тогда как согласование XP-> XP обеспечивает 4096 пакетов SMB?
Любые идеи? Мне не хватает тех ...
Решено!
Были отключены оппортунистические блокировки. Это мешало работе кеша с упреждающим чтением, а пакеты SMB, которыми обменивались, были очень маленькими.
При включении гибкой блокировки мы видим пакеты SMB размером 4096 байт (4K), что составляет размер блока NTFS.
Теперь все хорошо.