The configure_new_server.sh
script (and configure_new_server.bat
for Windows)
serve as a guide defining best-practice configurables for a production environment (or a realistic PoC).
See documentation regarding configurables: here.
Here is some insight into the thinking that goes into setting configurables in the SDP. The SDP configurables are different from P4D defaults for a variety of reasons, such as:
server.depot.root
and journalPrefix
.filesys.*.min
, monitor
, server
, and some structured logs -- plus a recommendation for setting security
.lbr.autocompress
, lbr.bufsize
, net.backlog
, net.autotune
, net.tcpsize
, etc. P4D is
(rightly) more conservative when changing such defaults, perhaps requiring more proof/data, while the SDP is willing to promote settings changes ahead of P4D if folks in Engineering/Support/Consulting believe they'll be mostly good. In some cases, this may help get the more solid proof/data needed to change p4d defaults.Besides configurable settings, the SDP also adjusts P4D defaults and behaviors in other ways, such as always creating 'spec' and 'unload' depots.
See the Windows-specific setup files in:
..\Windows\setup
In particular:
SDPEnv.py
template_configure_new_server.bat
As the name implies, these configure_new_sever.*
scripts are intended to be run on a new server. When applied to an existing data set, it is recommended that these scripts be used as a guide. In that case, each setting can be applied manually, e.g. with p4 configure
commands, creating spec/unload depots, etc. When applying to an existing setting, there are a few things to be aware of:
journalPrefix
and server.depot.root
configurables are central to SDP operation, and must not be changed.filesys.*.min
settings are key safety settings. It is OK to adjust the values to suit your environment, but they should always be set in a production environment.mkrep.sh
.spec
or unload
; check that they do not already exist (possibly with a different name).dm.integ.engine
, we strongly recommend unsetting dm.integ.engine
if it is set and P4D is 2014.1 or later. This isn't done in the script as doing so will cause a significant change in user-visible behavior if it had previously been explicitly set, e.g. to 2
. # | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 24587 | tom_tyler |
Added net.autotune=1 setting and related comments. Corrected misinformation in comments related to net.tcpsize configurable, and tweaked logic slightly. Added more info in README and changed format to Markdown (renaming from .txt to .md). Enhanced gen_default_broker_cfg.sh to detect whether net.autotune is enabled, and if so, add net.autotune to the broker configuration. #review-24207 @nick_poole |
||
//guest/perforce_software/sdp/dev/Server/setup/README.txt | |||||
#1 | 10996 | robert_cowham |
Remove P4 requirement for basic SDPEnv.py - moved to report_env.py instead. Remove (oudataed) copies from OS Setup for now - duplicates cause a problem |