У нас есть приложение, которое использует файлы DBF - пользователи запускают приложение на своих машинах и получают доступ к данным на сервере через общий ресурс. Это приложение установлено на тысячах сайтов со всеми комбинациями Windows 2000 / XP и Windows Server от 2000 до 2008.
Некоторые пользователи (на нескольких разных сайтах) с Windows Server 2008 начинают получать рабочие станции Windows 7 и сообщают, что выполнение некоторых операций с этой конфигурацией теперь занимает во много раз больше времени.
Существует известная проблема с SMB2, из-за которой он повредит индексные файлы, связанные с DBF, а также таблицы MS Access и другие вещи, которые используют то, что можно было бы описать как устаревшие подходы к блокировке. Поэтому мы обычно возвращаем все обратно к SMB1.
Есть ли что-нибудь еще на транспортном уровне ОС / сети, которое может снизить производительность в этом сценарии?
Чтобы ответить на мой собственный вопрос:
Установите для параметра Interrupt Moderation значение Disabled в дополнительных настройках сетевой карты. Результат - Значительное улучшение скорости, теперь до того, что я ожидал от LAN 100 Мбит / с.
Модерация прерываний - это функция, предназначенная для повышения производительности ЦП путем ограничения частоты, с которой сетевой стек прерывает ЦП для отправки сетевых пакетов. В данном случае очевидно обратный эффект - мы хотим, чтобы их отправляли и получали сразу.
Этот параметр, по-видимому, присутствует во многих современных сетевых картах, включая Realtek, Intel, Broadcom и т. Д., Хотя он может зависеть от драйвера, т.е. Стандартный драйвер HP или Dell может не иметь его, но его замена на драйвер, поставляемый поставщиком, может сделать его доступным.
В Windows 7 есть возможность запустить приложение в режиме совместимости. Щелкните правой кнопкой мыши исполняемый файл и перейдите на вкладку СОВМЕСТИМОСТЬ.