~ubuntu-branches/ubuntu/maverick/samba/maverick-security

« back to all changes in this revision

Viewing changes to docs/htmldocs/Samba3-HOWTO/speed.html

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-01-29 06:16:15 UTC
  • mfrom: (0.27.9 upstream) (0.34.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100129061615-37hs6xqpsdhjq3ld
Tags: 2:3.4.5~dfsg-1ubuntu1
* Merge from debian testing.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/smb.conf:
    - Add "(Samba, Ubuntu)" to server string.
    - Comment out the default [homes] share, and add a comment about "valid users = %s"
      to show users how to restrict access to \\server\username to only username.
    - Set 'usershare allow guests', so that usershare admins are allowed to create
      public shares in additon to authenticated ones.
    - add map to guest = Bad user, maps bad username to gues access.
  + debian/samba-common.conf:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/mksambapasswd.awk:
    - Do not add user with UID less than 1000 to smbpasswd.
  + debian/control: 
    - Make libswbclient0 replace/conflict with hardy's likewise-open.
    - Don't build against ctdb, since its not in main yet.
  + debian/rules:
    - Enable "native" PIE hardening.
    - Add BIND_NOW to maximize benefit of RELRO hardening.
  + Add ufw integration:
    - Created debian/samba.ufw.profile.
    - debian/rules, debian/samba.dirs, debian/samba.files: install
  + Add apoort hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba.dirs, debian/samba-common-bin.files: install
  + debian/rules, debian/samba.if-up: allow "NetworkManager" as a recognized address
    family... it's obviously /not/ an address family, but it's what gets
    sent when using NM, so we'll cope for now.  (LP: #462169). Taken from karmic-proposed.
  + debian/control: Recommend keyutils for smbfs (LP: #493565)
  + Dropped patches:
    - debian/patches/security-CVE-2009-3297.patch: No longer needed
    - debian/patches/fix-too-many-open-files.patch: No longer needed

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter�45.�Samba Performance Tuning</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="The Official Samba 3.4.x HOWTO and Reference Guide"><link rel="up" href="Appendix.html" title="Part�VI.�Reference Section"><link rel="prev" href="Other-Clients.html" title="Chapter�44.�Samba and Other CIFS Clients"><link rel="next" href="ch-ldap-tls.html" title="Chapter�46.�LDAP and Transport Layer Security"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter�45.�Samba Performance Tuning</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Other-Clients.html">Prev</a>�</td><th width="60%" align="center">Part�VI.�Reference Section</th><td width="20%" align="right">�<a accesskey="n" href="ch-ldap-tls.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="speed"></a>Chapter�45.�Samba Performance Tuning</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Paul</span> <span class="orgname">Dundee Limb Fitting Centre</span> <span class="surname">Cochrane</span></h3><div class="affiliation"><span class="orgname">Dundee Limb Fitting Centre<br></span><div class="address"><p><code class="email">&lt;<a class="email" href="mailto:paulc@dth.scot.nhs.uk">paulc@dth.scot.nhs.uk</a>&gt;</code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="othername">R.</span> <span class="orgname">The Samba Team</span> <span class="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><code class="email">&lt;<a class="email" href="mailto:jelmer@samba.org">jelmer@samba.org</a>&gt;</code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="orgname">Samba Team</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email">&lt;<a class="email" href="mailto:jht@samba.org">jht@samba.org</a>&gt;</code></p></div></div></div></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="speed.html#id2690722">Comparisons</a></span></dt><dt><span class="sect1"><a href="speed.html#id2690760">Socket Options</a></span></dt><dt><span class="sect1"><a href="speed.html#id2690857">Read Size</a></span></dt><dt><span class="sect1"><a href="speed.html#id2690902">Max Xmit</a></span></dt><dt><span class="sect1"><a href="speed.html#id2690949">Log Level</a></span></dt><dt><span class="sect1"><a href="speed.html#id2690974">Read Raw</a></span></dt><dt><span class="sect1"><a href="speed.html#id2691041">Write Raw</a></span></dt><dt><span class="sect1"><a href="speed.html#id2691093">Slow Logins</a></span></dt><dt><span class="sect1"><a href="speed.html#id2691116">Client Tuning</a></span></dt><dt><span class="sect1"><a href="speed.html#id2691137">Samba Performance Problem Due to Changing Linux Kernel</a></span></dt><dt><span class="sect1"><a href="speed.html#id2691229">Corrupt tdb Files</a></span></dt><dt><span class="sect1"><a href="speed.html#id2691324">Samba Performance is Very Slow</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2690722"></a>Comparisons</h2></div></div></div><p>
 
1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter�45.�Samba Performance Tuning</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="The Official Samba 3.4.x HOWTO and Reference Guide"><link rel="up" href="Appendix.html" title="Part�VI.�Reference Section"><link rel="prev" href="Other-Clients.html" title="Chapter�44.�Samba and Other CIFS Clients"><link rel="next" href="ch-ldap-tls.html" title="Chapter�46.�LDAP and Transport Layer Security"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter�45.�Samba Performance Tuning</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Other-Clients.html">Prev</a>�</td><th width="60%" align="center">Part�VI.�Reference Section</th><td width="20%" align="right">�<a accesskey="n" href="ch-ldap-tls.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter�45.�Samba Performance Tuning"><div class="titlepage"><div><div><h2 class="title"><a name="speed"></a>Chapter�45.�Samba Performance Tuning</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Paul</span> <span class="surname">Cochrane</span></h3><div class="affiliation"><span class="orgname">Dundee Limb Fitting Centre<br></span><div class="address"><p><code class="email">&lt;<a class="email" href="mailto:paulc@dth.scot.nhs.uk">paulc@dth.scot.nhs.uk</a>&gt;</code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="othername">R.</span> <span class="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><code class="email">&lt;<a class="email" href="mailto:jelmer@samba.org">jelmer@samba.org</a>&gt;</code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email">&lt;<a class="email" href="mailto:jht@samba.org">jht@samba.org</a>&gt;</code></p></div></div></div></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="speed.html#id2696779">Comparisons</a></span></dt><dt><span class="sect1"><a href="speed.html#id2696817">Socket Options</a></span></dt><dt><span class="sect1"><a href="speed.html#id2696914">Read Size</a></span></dt><dt><span class="sect1"><a href="speed.html#id2696958">Max Xmit</a></span></dt><dt><span class="sect1"><a href="speed.html#id2697006">Log Level</a></span></dt><dt><span class="sect1"><a href="speed.html#id2697030">Read Raw</a></span></dt><dt><span class="sect1"><a href="speed.html#id2697097">Write Raw</a></span></dt><dt><span class="sect1"><a href="speed.html#id2697150">Slow Logins</a></span></dt><dt><span class="sect1"><a href="speed.html#id2697173">Client Tuning</a></span></dt><dt><span class="sect1"><a href="speed.html#id2697194">Samba Performance Problem Due to Changing Linux Kernel</a></span></dt><dt><span class="sect1"><a href="speed.html#id2697286">Corrupt tdb Files</a></span></dt><dt><span class="sect1"><a href="speed.html#id2697381">Samba Performance is Very Slow</a></span></dt></dl></div><div class="sect1" title="Comparisons"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2696779"></a>Comparisons</h2></div></div></div><p>
2
2
The Samba server uses TCP to talk to the client, so if you are
3
3
trying to see if it performs well, you should really compare it to
4
4
programs that use the same protocol. The most readily available
20
20
hardware and drivers used on the various systems. Given similar
21
21
hardware, Samba should certainly be competitive in speed with other
22
22
systems.
23
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2690760"></a>Socket Options</h2></div></div></div><p>
 
23
</p></div><div class="sect1" title="Socket Options"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2696817"></a>Socket Options</h2></div></div></div><p>
24
24
There are a number of socket options that can greatly affect the
25
25
performance of a TCP-based server like Samba.
26
26
</p><p>
44
44
can seriously degrade Samba performance on the loopback adaptor (IP Address 127.0.0.1). It is strongly
45
45
recommended that before specifying any settings for <em class="parameter"><code>socket options</code></em>, the effect
46
46
first be quantitatively measured on the server being configured.
47
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2690857"></a>Read Size</h2></div></div></div><p>
 
47
</p></div><div class="sect1" title="Read Size"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2696914"></a>Read Size</h2></div></div></div><p>
48
48
The option <a class="link" href="smb.conf.5.html#READSIZE" target="_top">read size</a> affects the overlap of disk
49
49
reads/writes with network reads/writes. If the amount of data being
50
50
transferred in several of the SMB commands (currently SMBwrite, SMBwriteX, and
61
61
done as yet to determine the optimal value, and it is likely that the best
62
62
value will vary greatly between systems anyway. A value over 65536 is
63
63
pointless and will cause you to allocate memory unnecessarily.
64
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2690902"></a>Max Xmit</h2></div></div></div><p>
 
64
</p></div><div class="sect1" title="Max Xmit"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2696958"></a>Max Xmit</h2></div></div></div><p>
65
65
        At startup the client and server negotiate a <em class="parameter"><code>maximum transmit</code></em> size,
66
66
which limits the size of nearly all SMB commands. You can set the
67
67
maximum size that Samba will negotiate using the <a class="link" href="smb.conf.5.html#MAXXMIT" target="_top">max xmit</a> option
74
74
clients may perform better with a smaller transmit unit. Trying values
75
75
of less than 2048 is likely to cause severe problems.
76
76
In most cases the default is the best option.
77
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2690949"></a>Log Level</h2></div></div></div><p>
 
77
</p></div><div class="sect1" title="Log Level"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2697006"></a>Log Level</h2></div></div></div><p>
78
78
If you set the log level (also known as <a class="link" href="smb.conf.5.html#DEBUGLEVEL" target="_top">debug level</a>) higher than 2,
79
79
then you may suffer a large drop in performance. This is because the
80
80
server flushes the log file after each operation, which can be quite
81
81
expensive. 
82
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2690974"></a>Read Raw</h2></div></div></div><p>
 
82
</p></div><div class="sect1" title="Read Raw"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2697030"></a>Read Raw</h2></div></div></div><p>
83
83
The <a class="link" href="smb.conf.5.html#READRAW" target="_top">read raw</a> operation is designed to be an optimized, low-latency
84
84
file read operation. A server may choose to not support it,
85
85
however, and Samba makes support for <a class="link" href="smb.conf.5.html#READRAW" target="_top">read raw</a> optional, with it
90
90
read operations, so you might like to try <a class="link" href="smb.conf.5.html#READRAW" target="_top">read raw = no</a> and see what happens on your
91
91
network. It might lower, raise, or not affect your performance. Only
92
92
testing can really tell.
93
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2691041"></a>Write Raw</h2></div></div></div><p>
 
93
</p></div><div class="sect1" title="Write Raw"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2697097"></a>Write Raw</h2></div></div></div><p>
94
94
The <a class="link" href="smb.conf.5.html#WRITERAW" target="_top">write raw</a> operation is designed to be an optimized, low-latency
95
95
file write operation. A server may choose to not support it, however, and Samba makes support for
96
96
<a class="link" href="smb.conf.5.html#WRITERAW" target="_top">write raw</a> optional, with it being enabled by default.
97
97
</p><p>
98
98
Some machines may find <a class="link" href="smb.conf.5.html#WRITERAW" target="_top">write raw</a> slower than normal write, in which
99
99
case you may wish to change this option.
100
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2691093"></a>Slow Logins</h2></div></div></div><p>
 
100
</p></div><div class="sect1" title="Slow Logins"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2697150"></a>Slow Logins</h2></div></div></div><p>
101
101
Slow logins are almost always due to the password checking time. Using
102
102
the lowest practical <a class="link" href="smb.conf.5.html#PASSWORDLEVEL" target="_top">password level</a> will improve things. 
103
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2691116"></a>Client Tuning</h2></div></div></div><p>
 
103
</p></div><div class="sect1" title="Client Tuning"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2697173"></a>Client Tuning</h2></div></div></div><p>
104
104
Often a speed problem can be traced to the client. The client (for
105
105
example Windows for Workgroups) can often be tuned for better TCP
106
106
performance. Check the sections on the various clients in 
107
107
<a class="link" href="Other-Clients.html" title="Chapter�44.�Samba and Other CIFS Clients">Samba and Other CIFS Clients</a>.
108
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2691137"></a>Samba Performance Problem Due to Changing Linux Kernel</h2></div></div></div><p>
 
108
</p></div><div class="sect1" title="Samba Performance Problem Due to Changing Linux Kernel"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2697194"></a>Samba Performance Problem Due to Changing Linux Kernel</h2></div></div></div><p>
109
109
A user wrote the following to the mailing list:
110
110
</p><div class="blockquote"><blockquote class="blockquote"><p>
111
 
<a class="indexterm" name="id2691152"></a>
112
 
<a class="indexterm" name="id2691159"></a>
 
111
<a class="indexterm" name="id2697209"></a>
 
112
<a class="indexterm" name="id2697215"></a>
113
113
I am running Gentoo on my server and Samba 2.2.8a. Recently I changed kernel versions from
114
114
<code class="filename">linux-2.4.19-gentoo-r10</code> to <code class="filename">linux-2.4.20-wolk4.0s</code>. Now I have a
115
 
performance issue with Samba.  Many of you will probably say,  &#8220;<span class="quote">Move to vanilla sources!</span>&#8221; Well, I
 
115
performance issue with Samba.  Many of you will probably say,  <span class="quote">&#8220;<span class="quote">Move to vanilla sources!</span>&#8221;</span> Well, I
116
116
tried that and it didn't work. I have a 100MB LAN and two computers (Linux and Windows 2000). The Linux server
117
117
shares directories with DivX files, the client (Windows 2000) plays them via LAN. Before, when I was running
118
118
the 2.4.19 kernel, everything was fine, but now movies freeze and stop. I tried moving files between the
120
120
</p></blockquote></div><p>
121
121
The answer he was given is:
122
122
</p><div class="blockquote"><blockquote class="blockquote"><p>
123
 
<a class="indexterm" name="id2691201"></a>
124
 
<a class="indexterm" name="id2691208"></a>
125
 
<a class="indexterm" name="id2691215"></a>
 
123
<a class="indexterm" name="id2697258"></a>
 
124
<a class="indexterm" name="id2697264"></a>
 
125
<a class="indexterm" name="id2697271"></a>
126
126
Grab the mii-tool and check the duplex settings on the NIC.  My guess is that it is a link layer issue, not an
127
127
application layer problem. Also run ifconfig and verify that the framing error, collisions, and so on, look
128
128
normal for ethernet.
129
 
</p></blockquote></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2691229"></a>Corrupt tdb Files</h2></div></div></div><p>
130
 
<a class="indexterm" name="id2691237"></a>
131
 
<a class="indexterm" name="id2691243"></a>
132
 
<a class="indexterm" name="id2691250"></a>
 
129
</p></blockquote></div></div><div class="sect1" title="Corrupt tdb Files"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2697286"></a>Corrupt tdb Files</h2></div></div></div><p>
 
130
<a class="indexterm" name="id2697293"></a>
 
131
<a class="indexterm" name="id2697300"></a>
 
132
<a class="indexterm" name="id2697307"></a>
133
133
Our Samba PDC server has been hosting three TB of data to our 500+ users [Windows NT/XP]  for the last three
134
134
years using Samba without a problem.  Today all shares went very slow. Also, the main smbd kept spawning new
135
135
processes, so we had 1600+ running SMDB's (normally we average 250).  It crashed the SUN E3500 cluster twice.
138
138
<span class="emphasis"><em>Question:</em></span> Is there any method of keeping the *.tdb files in top condition, or
139
139
how can I detect early corruption?
140
140
</p><p>
141
 
<a class="indexterm" name="id2691281"></a>
142
 
<a class="indexterm" name="id2691288"></a>
 
141
<a class="indexterm" name="id2697338"></a>
 
142
<a class="indexterm" name="id2697345"></a>
143
143
<span class="emphasis"><em>Answer:</em></span> Yes, run <code class="literal">tdbbackup</code> each time after stopping nmbd and before starting nmbd.
144
144
</p><p>
145
145
<span class="emphasis"><em>Question:</em></span> What I also would like to mention is that the service latency seems
146
146
a lot lower than before the locks cleanup. Any ideas on keeping it top notch?
147
147
</p><p>
148
148
<span class="emphasis"><em>Answer:</em></span> Yes. Same answer as for previous question!
149
 
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2691324"></a>Samba Performance is Very Slow</h2></div></div></div><p>
150
 
<a class="indexterm" name="id2691333"></a>
 
149
</p></div><div class="sect1" title="Samba Performance is Very Slow"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2697381"></a>Samba Performance is Very Slow</h2></div></div></div><p>
 
150
<a class="indexterm" name="id2697389"></a>
151
151
A site reported experiencing very baffling symptoms with MYOB Premier opening and
152
152
accessing its data files. Some  operations on the file would take between 40 and
153
153
45 seconds.
154
154
</p><p>
155
 
<a class="indexterm" name="id2691346"></a>
156
 
<a class="indexterm" name="id2691353"></a>
 
155
<a class="indexterm" name="id2697402"></a>
 
156
<a class="indexterm" name="id2697409"></a>
157
157
It turned out that the printer monitor program running on the Windows
158
158
clients was causing the problems. From the logs, we saw activity coming
159
159
through with pauses of about 1 second.
160
160
</p><p>
161
 
<a class="indexterm" name="id2691366"></a>
162
 
<a class="indexterm" name="id2691373"></a>
 
161
<a class="indexterm" name="id2697423"></a>
 
162
<a class="indexterm" name="id2697430"></a>
163
163
Stopping the monitor software resulted in the networks access at normal
164
164
(quick) speed. Restarting the program caused the speed to slow down
165
165
again. The printer was a Canon LBP-810 and the relevant task was