- Настройка производительности файловых серверов SMB Performance tuning for SMB file servers
- Рекомендации по конфигурации SMB SMB configuration considerations
- Настройка производительности SMB SMB performance tuning
- Семейство протоколов SMB 3,0 SMB 3.0 protocol family
- SMB Direct SMB Direct
- Технология SMB Multichannel SMB Multichannel
- Горизонтальное масштабирование SMB SMB Scale-Out
- Счетчики производительности для SMB 3,0 Performance counters for SMB 3.0
- Параметры настройки для файловых серверов SMB Tuning parameters for SMB file servers
- Пример настройки SMB Server SMB server tuning example
Настройка производительности файловых серверов SMB Performance tuning for SMB file servers
Рекомендации по конфигурации SMB SMB configuration considerations
Не включайте какие либо службы или компоненты, которые не требуются для файлового сервера и клиентов. Do not enable any services or features that your file server and clients do not require. К ним могут относиться подписывание SMB, кэширование на стороне клиента, Мини-фильтры файловой системы, служба поиска, запланированные задачи, шифрование NTFS, сжатие NTFS, IPSEC, фильтры брандмауэра, Teredo и шифрование SMB. These might include SMB signing, client-side caching, file system mini-filters, search service, scheduled tasks, NTFS encryption, NTFS compression, IPSEC, firewall filters, Teredo, and SMB encryption.
Убедитесь, что режимы управления питанием BIOS и операционной системы заданы по мере необходимости, что может включать режим высокой производительности или изменение состояния C. Ensure that the BIOS and operating system power management modes are set as needed, which might include High Performance mode or altered C-State. Убедитесь, что установлены последние, наиболее устойчивые и быстрые драйверы для хранения и сетевых устройств. Ensure that the latest, most resilient, and fastest storage and networking device drivers are installed.
Копирование файлов — это обычная операция, выполняемая на файловом сервере. Copying files is a common operation performed on a file server. В Windows Server имеется несколько встроенных служебных программ копирования файлов, которые можно запустить с помощью командной строки. Windows Server has several built-in file copy utilities that you can run by using a command prompt. Рекомендуется использовать Robocopy. Robocopy is recommended. Параметр /MT , появившийся в Windows Server 2008 R2, может значительно повысить скорость удаленной передачи файлов с помощью нескольких потоков при копировании нескольких мелких файлов. Introduced in Windows Server 2008 R2, the /mt option of Robocopy can significantly improve speed on remote file transfers by using multiple threads when copying multiple small files. Также рекомендуется использовать параметр /log , чтобы сократить вывод на консоль путем перенаправления журналов на устройство NUL или в файл. We also recommend using the /log option to reduce console output by redirecting logs to a NUL device or to a file. При использовании XCopy рекомендуется добавлять параметры /q и /k в существующие параметры. When you use Xcopy, we recommend adding the /q and /k options to your existing parameters. Первый вариант уменьшает нагрузку на ЦП за счет сокращения времени вывода консоли, а второй сокращает сетевой трафик. The former option reduces CPU overhead by reducing console output and the latter reduces network traffic.
Настройка производительности SMB SMB performance tuning
Производительность файлового сервера и доступные настройки зависят от протокола SMB, согласованного между клиентом и сервером, а также с развернутыми компонентами файлового сервера. File server performance and available tunings depend on the SMB protocol that is negotiated between each client and the server, and on the deployed file server features. Самая высокая версия протокола, доступная в настоящее время, — это SMB 3.1.1 в Windows Server 2016 и Windows 10. The highest protocol version currently available is SMB 3.1.1 in Windows Server 2016 and Windows 10. Вы можете проверить, какая версия SMB используется в вашей сети, с помощью Windows PowerShell Get-смбконнектион на клиентах и Get-смбсессион | FL на серверах. You can check which version of SMB is in use on your network by using Windows PowerShell Get-SMBConnection on clients and Get-SMBSession | FL on servers.
Семейство протоколов SMB 3,0 SMB 3.0 protocol family
SMB 3,0 была введена в Windows Server 2012 и улучшена в Windows Server 2012 R2 (SMB 3,02) и Windows Server 2016 (SMB 3.1.1). SMB 3.0 was introduced in Windows Server 2012 and further enhanced in Windows Server 2012 R2 (SMB 3.02) and Windows Server 2016 (SMB 3.1.1). В этой версии появились технологии, которые могут значительно повысить производительность и доступность файлового сервера. This version introduced technologies that may significantly improve performance and availability of the file server. Дополнительные сведения см. в разделе SMB в Windows Server 2012 и 2012 R2 2012 и новые возможности SMB 3.1.1. For more info, see SMB in Windows Server 2012 and 2012 R2 2012 and What’s new in SMB 3.1.1.
SMB Direct SMB Direct
В SMB Direct появилась возможность использования сетевых интерфейсов RDMA для высокой пропускной способности с низкой задержкой и низкой загрузкой ЦП. SMB Direct introduced the ability to use RDMA network interfaces for high throughput with low latency and low CPU utilization.
Когда SMB обнаруживает сеть с поддержкой RDMA, она автоматически пытается использовать возможность RDMA. Whenever SMB detects an RDMA-capable network, it automatically tries to use the RDMA capability. Однако если по какой-либо причине клиенту SMB не удается подключиться с помощью пути RDMA, будет просто продолжать использовать TCP/IP-соединения. However, if for any reason the SMB client fails to connect using the RDMA path, it will simply continue to use TCP/IP connections instead. Все интерфейсы RDMA, совместимые с SMB Direct, должны также реализовать стек TCP/IP, и многоканальный протокол SMB знает об этом. All RDMA interfaces that are compatible with SMB Direct are required to also implement a TCP/IP stack, and SMB Multichannel is aware of that.
SMB Direct не требуется в какой-либо конфигурации SMB, но рекомендуется всегда для тех, кто хочет снизить задержку и снизить загрузку ЦП. SMB Direct is not required in any SMB configuration, but it’ s always recommended for those who want lower latency and lower CPU utilization.
Технология SMB Multichannel SMB Multichannel
Многоканальный протокол SMB позволяет файловым серверам одновременно использовать несколько сетевых подключений и обеспечивает повышенную пропускную способность. SMB Multichannel allows file servers to use multiple network connections simultaneously and provides increased throughput.
Дополнительные сведения о многоканальном SMB см. в статье развертывание многоканальногоSMB. For more info about SMB Multichannel, see Deploy SMB Multichannel.
Горизонтальное масштабирование SMB SMB Scale-Out
При горизонтальном масштабировании SMB 3,0 в конфигурации кластера обеспечивает отображение общего ресурса на всех узлах кластера. SMB Scale-out allows SMB 3.0 in a cluster configuration to show a share in all nodes of a cluster. Эта конфигурация «активный/активный» позволяет дополнительно масштабировать кластеры файловых серверов без сложной конфигурации с несколькими томами, общими ресурсами и кластерами. This active/active configuration makes it possible to scale file server clusters further, without a complex configuration with multiple volumes, shares and cluster resources. Максимальная пропускная способность общего доступа — это общая пропускная способность всех узлов кластера файлового сервера. The maximum share bandwidth is the total bandwidth of all file server cluster nodes. Общая пропускная способность больше не ограничивается пропускной способностью отдельного узла кластера, а зависит от возможности резервной системы хранения. The total bandwidth is no longer limited by the bandwidth of a single cluster node, but rather depends on the capability of the backing storage system. Увеличить общую пропускную способность можно путем добавления узлов. You can increase the total bandwidth by adding nodes.
Счетчики производительности для SMB 3,0 Performance counters for SMB 3.0
Следующие счетчики производительности SMB появились в Windows Server 2012 и считаются базовым набором счетчиков при мониторинге использования ресурсов SMB 2 и более поздних версий. The following SMB performance counters were introduced in Windows Server 2012, and they are considered a base set of counters when you monitor the resource usage of SMB 2 and higher versions. Запись счетчиков производительности в локальный, необработанный (BLG) журнал счетчиков производительности. Log the performance counters to a local, raw (.blg) performance counter log. Получение всех экземпляров с помощью подстановочного знака () менее затратно * , а затем извлечение определенных экземпляров во время последующей обработки с помощью Relog.exe. It is less expensive to collect all instances by using the wildcard character (*), and then extract particular instances during post-processing by using Relog.exe.
Общие ресурсы SMB Client SMB Client Shares
Эти счетчики отображают сведения о общих файловых ресурсах на сервере, к которому обращается клиент, использующий протокол SMB 2,0 или более поздней версии. These counters display information about file shares on the server that are being accessed by a client that is using SMB 2.0 or higher versions.
Если вы уже знакомы с обычными счетчиками дисков в Windows, вы можете заметить определенное сходство. If you’ re familiar with the regular disk counters in Windows, you might notice a certain resemblance. Это не случайно. That’ s not by accident. Счетчики производительности «клиентские ресурсы SMB» рассчитаны на точное соответствие счетчиков дисков. The SMB client shares performance counters were designed to exactly match the disk counters. Таким образом вы можете легко повторно использовать любые рекомендации по настройке производительности диска приложений в настоящее время. This way you can easily reuse any guidance on application disk performance tuning you currently have. Дополнительные сведения о сопоставлении счетчиков см. в блоге по счетчикам производительности клиента для общего ресурса. For more info about counter mapping, see Per share client performance counters blog.
Общие серверные ресурсы SMB SMB Server Shares
Эти счетчики отображают сведения о файловых ресурсах SMB 2,0 или более поздней версии на сервере. These counters display information about the SMB 2.0 or higher file shares on the server.
Сеансы SMB Server SMB Server Sessions
Эти счетчики отображают сведения о сеансах SMB Server, использующих SMB 2,0 или более поздней версии. These counters display information about SMB server sessions that are using SMB 2.0 or higher.
Включение счетчиков на стороне сервера (общие серверные ресурсы или сеансы сервера) может оказать значительное влияние на производительность для рабочих нагрузок с большими объемами операций ввода-вывода. Turning on counters on server side (server shares or server sessions) may have significant performance impact for high IO workloads.
Фильтр ключей возобновления Resume Key Filter
Эти счетчики отображают сведения о фильтре ключа возобновления. These counters display information about the Resume Key Filter.
Подключение SMB Direct SMB Direct Connection
Эти счетчики измеряют различные аспекты активности подключения. These counters measure different aspects of connection activity. Компьютер может иметь несколько подключений SMB Direct. A computer can have multiple SMB Direct connections. Счетчики прямого подключения SMB представляют каждое соединение как пару IP-адресов и портов, где первый IP-адрес и порт представляют локальную конечную точку подключения, а второй IP-адрес и порт — удаленную конечную точку подключения. The SMB Direct Connection counters represent each connection as a pair of IP addresses and ports, where the first IP address and port represent the connection’s local endpoint, and the second IP address and port represent the connection’s remote endpoint.
Связи счетчиков производительности «физический диск», «SMB» и «CSV FS» Physical Disk, SMB, CSV FS performance counters relationships
Дополнительные сведения о том, как связаны счетчики физического диска, SMB и CSV (файловая система), см. в следующей записи блога: общий том кластера счетчики производительности. For more info on how Physical Disk, SMB, and CSV FS (file system) counters are related, see the following blog post: Cluster Shared Volume Performance Counters.
Параметры настройки для файловых серверов SMB Tuning parameters for SMB file servers
Следующие _ параметры реестра DWORD могут повлиять на производительность файловых серверов SMB. The following REG_DWORD registry settings can affect the performance of SMB file servers:
Smb2CreditsMin и Smb2CreditsMax Smb2CreditsMin and Smb2CreditsMax
Значения по умолчанию: 512 и 8192 соответственно. The defaults are 512 and 8192, respectively. Эти параметры позволяют серверу динамически регулировать параллелизм операций клиента в указанных границах. These parameters allow the server to throttle client operation concurrency dynamically within the specified boundaries. Некоторые клиенты могут повысить пропускную способность с более высокими ограничениями параллелизма, например, скопировав файлы по каналам с высокой пропускной способностью и большим временем задержки. Some clients might achieve increased throughput with higher concurrency limits, for example, copying files over high-bandwidth, high-latency links.
До Windows 10 и Windows Server 2016 количество кредитов, предоставленных клиенту, изменяется динамически между Smb2CreditsMin и Smb2CreditsMax на основе алгоритма, который пытался определить оптимальное количество кредитов для предоставления в зависимости от задержки сети и использования кредита. Prior to Windows 10 and Windows Server 2016, the number of credits granted to the client varied dynamically between Smb2CreditsMin and Smb2CreditsMax based on an algorithm that attempted to determine the optimal number of credits to grant based on network latency and credit usage. В Windows 10 и Windows Server 2016 сервер SMB был изменен на безусловное предоставление кредитов при запросе до заданного максимального количества кредитов. In Windows 10 and Windows Server 2016, the SMB server was changed to unconditionally grant credits upon request up to the configured maximum number of credits. В рамках этого изменения механизм регулирования кредита, который уменьшает размер кредитного окна каждого подключения, когда сервер находится под нехваткой памяти, был удален. As part of this change, the credit throttling mechanism, which reduces the size of each connection’s credit window when the server is under memory pressure, was removed. Событие нехватки памяти ядра, которое вызвало регулирование, получает сигнал, только если на сервере недостаточно памяти ( The kernel’s low memory event that triggered throttling is only signaled when the server is so low on memory ( Так как сервер больше не сжимает кредитовые окна, параметр Smb2CreditsMin больше не требуется и теперь игнорируется. Since the server no longer shrinks credit windows the Smb2CreditsMin setting is no longer necessary and is now ignored.
Вы можете наблюдать за трафиком SMB-клиентов \ с кредитными ожиданиями в секунду, чтобы узнать, есть ли какие-либо проблемы с кредитовыми данными. You can monitor SMB Client Shares\Credit Stalls /Sec to see if there are any issues with credits.
аддитионалкритикалворкерсреадс AdditionalCriticalWorkerThreads
Значение по умолчанию — 0. Это означает, что дополнительные критические рабочие потоки ядра не добавляются. The default is 0, which means that no additional critical kernel worker threads are added. Это значение влияет на количество потоков, используемых кэшем файловой системы для запросов с упреждающим чтением и записью. This value affects the number of threads that the file system cache uses for read-ahead and write-behind requests. Создание этого значения может привести к увеличению количества операций ввода-вывода в очереди в подсистеме хранения, а также к повышению производительности ввода-вывода, особенно на системах с множеством логических процессоров и мощного оборудования для хранения данных. Raising this value can allow for more queued I/O in the storage subsystem, and it can improve I/O performance, particularly on systems with many logical processors and powerful storage hardware.
Значение может потребоваться увеличиться, если объем неизмененных данных диспетчера кэша ( \ «грязных» страниц кэша счетчиков производительности) увеличивается для использования большой части (свыше 25%) памяти или, если система выполняет множество синхронных операций ввода-вывода. The value may need to be increased if the amount of cache manager dirty data (performance counter Cache\Dirty Pages) is growing to consume a large portion (over
25%) of memory or if the system is doing lots of synchronous read I/Os.
макссреадсперкуеуе MaxThreadsPerQueue
Значение по умолчанию равно 20. The default is 20. Увеличение этого значения приводит к увеличению числа потоков, которые файловый сервер может использовать для обслуживания параллельных запросов. Increasing this value raises the number of threads that the file server can use to service concurrent requests. Если необходимо обслуживать большое количество активных подключений, а аппаратные ресурсы, такие как пропускная способность хранилища, достаточны, увеличение значения может повысить масштабируемость сервера, производительность и время ответа. When a large number of active connections need to be serviced, and hardware resources, such as storage bandwidth, are sufficient, increasing the value can improve server scalability, performance, and response times.
Указывает, что значение может потребоваться увеличиться, если рабочие очереди SMB2 увеличиваются очень большими (счетчик производительности «рабочие очереди сервера \ \ Длина очереди \ SMB2 неблокировка * » постоянно превышает
100). An indication that the value may need to be increased is if the SMB2 work queues are growing very large (performance counter ‘Server Work Queues\Queue Length\SMB2 NonBlocking *’ is consistently above
В Windows 10 и Windows Server 2016 Макссреадсперкуеуе недоступен. In Windows 10 and Windows Server 2016, MaxThreadsPerQueue is unavailable. Число потоков для пула потоков будет равно «20 * число процессоров в узле NUMA». The number of threads for a thread pool will be «20 * the number of processors in a NUMA node».
асинчронаускредитс AsynchronousCredits
Значение по умолчанию — 512. The default is 512. Этот параметр ограничивает количество параллельных асинхронных команд SMB, разрешенных для одного соединения. This parameter limits the number of concurrent asynchronous SMB commands that are allowed on a single connection. В некоторых случаях (например, при наличии сервера переднего плана с серверным сервером IIS) требуется большой объем параллелизма (для запросов на уведомления об изменении файлов в частности). Some cases (such as when there is a front-end server with a back-end IIS server) require a large amount of concurrency (for file change notification requests, in particular). Значение этой записи можно увеличить для поддержки этих случаев. The value of this entry can be increased to support these cases.
Пример настройки SMB Server SMB server tuning example
Во многих случаях следующие параметры позволяют оптимизировать компьютер для производительности файлового сервера. The following settings can optimize a computer for file server performance in many cases. Предложенные значения не являются оптимальными и применимыми на всех компьютерах. The settings are not optimal or appropriate on all computers. Следует тщательно оценить влияние каждого параметра, прежде чем применять его. You should evaluate the impact of individual settings before applying them.