1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

samba: Change default process model to prefork

Prefork is the more sensible default option now, as it better
handles a large number of client connections.

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Tim Beale 2019-01-31 12:08:00 +13:00 committed by Andrew Bartlett
parent 5e716c0256
commit 3f8d83b753
3 changed files with 16 additions and 3 deletions

View File

@ -16,6 +16,19 @@ UPGRADING
NEW FEATURES/CHANGES
====================
Default samba process model
---------------------------
The default for the --model argument passed to the samba executable has changed
from 'standard' to 'prefork'. This means a difference in the number of samba
child processes that are created to handle client connections. The previous
default would create a separate process for every LDAP or NETLOGON client
connection. For a network with a lot of persistent client connections, this
could result in significant memory overhead. Now, with the new default of
'prefork', the LDAP, NETLOGON, and KDC services will create a fixed number of
worker processes at startup and share the client connections amongst these
workers. The number of worker processes can be configured by the 'prefork
children' setting in the smb.conf (the default is 4).
REMOVED FEATURES
================

View File

@ -119,8 +119,8 @@
for each new client connection.</para></listitem>
<listitem><para><emphasis>prefork</emphasis></para>
<para>A process is started for each Samba service, and a
fixed number of worker processes are started for those
<para>The default. A process is started for each Samba service,
and a fixed number of worker processes are started for those
services that support it (currently LDAP, NETLOGON, and KDC).
The client connections are then shared amongst the worker
processes.

View File

@ -452,7 +452,7 @@ static int binary_smbd_main(const char *binary_name,
init_module_fn *shared_init;
uint16_t stdin_event_flags;
NTSTATUS status;
const char *model = "standard";
const char *model = "prefork";
int max_runtime = 0;
struct stat st;
enum {