none
Can not throttle SMB client connections by setting Smb2CreditsMin and Smb2CreditsMax on Windows server 2016 RRS feed

  • Question

  • I am using an SMB share, setup on Windows server 2016. I read an article for tuning SMB server performance by setting Smb2CreditsMax and Smb2CreditsMin. In a series of experiments I set both of them to 512, 256, 1, and 0.

    At the same time, I mapped the SMB file share on a test client and drove sequential throughput on the file server using diskspd. But the client received similar throughput across all settings. Client throughput did not suffer even when Smb2CreditsMax was set to 1.

    Please see sample diskspd command below, I also varied block size from a few KiBs to several MiBs.

    ./diskspd.exe -L  -W10 -c10G -d600 -t10 -o8 -Sh -b1M  -v -w100 S:\testfile.dat

    SMB Client Shares\Credit Stalls /Sec showed '0' stalled requests. Wireshark/Message Analyzer indicated that individual write requests ere 8M in size and CreditCharge was 128 consistently.

    I rebooted the servers, re-mapped the shares, reset the SMB sessions – still no luck.

    I also tried to use Set-SmbBandwidthLimit. But this didn’t throttle my client connection to 2MB/s either.

    PS C:\Users\Administrator> Install-WindowsFeature -Name FS-SMBBW
     
    Success Restart Needed Exit Code      Feature Result
    ------- -------------- ---------      --------------
    True    No             Success        {SMB Bandwidth Limit}
     
     
    PS C:\Users\Administrator> Get-SmbBandWidthLimit
    PS C:\Users\Administrator> Set-SmbBandwidthLimit -Category Default -BytesPerSecond 2MB

    Here are the SMB session (including the SMB version) details:

    PS C:\Users\Administrator> Get-SMBSession | fl *
    SmbInstance           : Default
    ClientComputerName    : <>
    ClientUserName        : Admin
    ClusterNodeName       :
    Dialect               : 3.1.1
    NumOpens              : 2
    ScopeName             : *
    SecondsExists         : 1873
    SecondsIdle           : 49
    SessionId             : 1254130450457
    TransportName         :
    PSComputerName        :
    CimClass              : ROOT/Microsoft/Windows/SMB:MSFT_SmbSession
    CimInstanceProperties : {ClientComputerName, ClientUserName, ClusterNodeName, Dialect...}
    CimSystemProperties   : Microsoft.Management.Infrastructure.CimSystemProperties
     
    SmbInstance           : Default
    ClientComputerName    : <>
    ClientUserName        : Admin
    ClusterNodeName       :
    Dialect               : 3.1.1
    NumOpens              : 2
    ScopeName             : *
    SecondsExists         : 1866
    SecondsIdle           : 332
    SessionId             : 1254130450461
    TransportName         :
    PSComputerName        :
    CimClass              : ROOT/Microsoft/Windows/SMB:MSFT_SmbSession
    CimInstanceProperties : {ClientComputerName, ClientUserName, ClusterNodeName, Dialect...}
    CimSystemProperties   : Microsoft.Management.Infrastructure.CimSystemProperties

     

    Please help me understand additional steps that I can take, or settings that I need to change for throttling client connections.

    Tuesday, October 20, 2020 6:23 PM

All replies