Performance Tuning: Difference between revisions
Mmuehlfeld (talk | contribs) (Rewrote page.) |
Mmuehlfeld (talk | contribs) m (Added categories) |
||
Line 68: | Line 68: | ||
To unset the parameter, remove the <code>socket options</code> entry from the <code>[global]</code> section of your <code>smb.conf</code> file. |
To unset the parameter, remove the <code>socket options</code> entry from the <code>[global]</code> section of your <code>smb.conf</code> file. |
||
---- |
|||
[[Category:Active Directory]] |
|||
[[Category:Domain Members]] |
|||
[[Category:NT4 Domains]] |
Latest revision as of 21:49, 26 February 2017
Introduction
In certain situations, users can have performance problems when accessing a Samba server. In most cases, incorrectly set parameters cause the performance problems, such as described in Settings That Should Not Be Set.
If you are having performance problems using Samba that you cannot solve, subscribe to the Samba mailing list and post:
- A description of the problem.
- You complete
smb.conf
file without any modifications. - Details about your environment:
- Operating system and version
- Samba version
- Is Samba built by yourself or are you using packages? If using packages, who is the package creator?
- Type of the installation: Active Directory (AD) domain controller (DC), NT4 primary domain controller (PDC), AD or NT4 domain member, standalone installation.
SMB Protocol Version
Each new server message block (SMB) version adds new protocol features and improves performance. Additionally, recent Windows operating systems support the latest protocol versions. If a new SMB protocol version is implemented in Samba and considered stable, the default of the server max protocol
parameter is set to the latest version. It is recommended that you do not set the server max protocol
parameter in your smb.conf
file. If the parameter is not set and you are updating Samba to a version that provides a new SMB protocol version, it is automatically available to the clients.
To unset the parameter, remove the server max protocol
entry from the [global]
section of your smb.conf
file.
Directories with a Large Number of Files
To improve the performance of shares that are having directories containing more than 100.000 files:
- Rename all files on the share to lowercase.
All files on the share must be converted to lowercase when using the example. Files using uppercase or both uppercase and lowercase are no longer listed on the share.
- Set the following parameters in the share's section:
case sensitive = true default case = lower preserve case = no short preserve case = no
- Reload Samba:
# smbcontrol all reload-config
Using these settings, all new files on the share are created using lowercase. Samba no longer has to scan the directory for upper- and lowercase. This improves the performance. For further details about the parameters, see the descriptions in the smb.conf(5)
man page.
Settings That Should Not Be Set
The Samba team highly-recommends not setting the parameters described in this section without understanding the technical background and knowing the consequences. In most environments, setting these parameters or changing the defaults decreases the Samba network performance. |
The socket options
Parameter
Modern UNIX operating systems are tuned for high network performance by default. For example, Linux has an auto-tuning mechanism for buffer sizes. When you set the socket options
parameter in the smb.conf
file, you are overriding these settings. In most cases, setting this parameter decreases the performance.
To unset the parameter, remove the socket options
entry from the [global]
section of your smb.conf
file.