configure_new_server.bat #6

  • //
  • guest/
  • robert_cowham/
  • perforce/
  • sdp/
  • Server/
  • setup/
  • configure_new_server.bat
  • View
  • Commits
  • Open Download .zip Download (5 KB)
@ECHO OFF
:: ============================================================================
:: Copyright and license info is available in the LICENSE file included with
:: the Server Deployment Package (SDP), and also available online:
:: https://swarm.workshop.perforce.com/projects/perforce-software-sdp/view/main/LICENSE
:: ----------------------------------------------------------------------------
REM Set P4PORT and P4USER and run p4 login before running this script.

:: Verify instance value
if %1x==x (
    echo Error: An instance argument is required.
    echo .
    exit /b 1
)

SET instance=%1
call C:\p4\common\bin\p4env.bat %1

@ECHO ON

p4 configure set run.users.authorize=1
:: The server.depot.root configurable is valid for P4D 2014.1+
p4 configure set server.depot.root=c:\p4\%instance%\depots
p4 configure set journalPrefix=%CHECKPOINTS_DIR%\p4_%instance%
:: The db.peeking configurable is valid for P4D 2013.3+
p4 configure set db.peeking=3
p4 configure set dm.user.noautocreate=2
p4 configure set dm.user.resetpassword=1
p4 configure set filesys.P4ROOT.min=5G
p4 configure set filesys.depot.min=5G
p4 configure set filesys.P4JOURNAL.min=5G
p4 configure set monitor=1
p4 configure set server=4

:: For P4D 2015.2+, make client views global in a commit/edge environment.
p4 configure set server.global.client.views=1

:: For P4D 2013.2+, setting db.reorg.disable=1, which turns off
:: dynamic database reorg, has been shown to significantly improve
:: performance when Perforce databases (db.* files) are stored on
:: some solid state storage devices, while not making a difference
:: on others.
p4 configure set db.reorg.disable=1

:: Set net.tcpsize to 512k when P4D is 2017.1 or less.  In 2014.2
:: the default value become 512k.  For newer versions of p4d, set
:: net.tcpsize explicitly to 0 to engage auto-self-tuning feature.
p4 configure set net.tcpsize=0

:: For P4D 2016.2.1468155+, set db.monitor.shared = max value.
:: This is the number of 8k pages to set aside for monitoring,
:: which requires pre-allocation of sufficient RAM.  The default
:: is 256, or 2MB, enough for about 128 active/concurrent processes.
:: The max as of 2016.2 is 4096.  Setting db.monitor.shared=0
:: causes the db.monitor on disk to be used instead, which can
:: potentially be a bottleneck.
p4 configure set db.monitor.shared=4096

p4 configure set net.backlog=2048

p4 configure set lbr.bufsize=1M
p4 configure set lbr.autocompress=1
p4 configure set filesys.bufsize=1M
p4 configure set serverlog.file.4=%LOGS_DIR%\audit.csv
p4 configure set serverlog.retain.4=%KEEPLOGS%
p4 configure set serverlog.maxmb.4=200
p4 configure set serverlog.file.8=%LOGS_DIR%\integrity.csv
p4 configure set serverlog.retain.8=%KEEPLOGS%

@echo "Creating a depot named 'spec' of type 'spec'.
p4 depot -i < spec.depot.p4s

@echo "Creating a depot named 'unload' of unload 'unload'.
p4 depot -i < unload.depot.p4s

:: For p4d 2013.2+ -Turn off max* commandline overrides.
p4 configure set server.commandlimits=2

@echo See http://www.perforce.com/perforce/doc.current/manuals/p4dist/chapter.replication.html#replication.verifying
@echo if you are also setting up a replica server.
p4 configure set rpl.checksum.auto=1
p4 configure set rpl.checksum.change=2
p4 configure set rpl.checksum.table=1

:: Define number of login attempts before there is a delay, to thwart
:: automated password crackers.  Default is 3; set to a higher value to
:: be more friendly to humans without compromising the protection.
p4 configure set dm.user.loginattempts=7

:: For p4d 2016.1 Patch 5+
:: Enable a server with an expired temp license to start, albeit with limited
:: functionality, so that license expiry doesn't make it impossible to perform
:: license management via the front-door.  This configurable allows the server
:: to be started regardless of a bad license, though users will still be blocked
:: by license invalid messages.  Perpetual commercial licenses never expire;
:: this configurable will not affect those.
p4 configure set server.start.unlicensed=1

:: Starting with p4d 2015.1 Patch 5, disallow P4EXP v2014.2 (a client
:: version known to misbehave) from connecting to the server.
:: See:  http://answers.perforce.com/articles/KB/15014
p4 configure set "rejectList=P4EXP,version=2014.2"

:: For p4d 2011.1 thru 2015.1, set rpl.compress=3.  For p4d 2015.2+, set
:: rpl.compress=4.  This setting compresses journal data only, which is
:: almost always advantageous as it compresses well, while avoiding
:: compression of archive data, which is a mixed bag in terms of performance
:: benefits, and potentially a net netagive.
p4 configure set rpl.compress=4

:: Starting with p4d 2016.2, enable these features.
p4 configure set filesys.checklinks=2
p4 configure set server.locks.global=1
p4 configure set proxy.monitor.level=3

:: Recommended for Swarm
p4 configure set dm.shelve.promote=1
p4 configure set dm.keys.hide=2
p4 configure set filetype.bypasslock=1

:: Starting with p4d 2016.1, use auth.id to simplify ticket handling.
:: After setting auth.id, login again.
p4 configure set rpl.forward.login=1
p4 configure set auth.id=p4_%SDP_INSTANCE%
p4login.bat

:: Set SDP version identifing info.
p4 counter SDP "%DATE%"

:: Restart to ensure all configurable changes take effect.
p4 admin restart
p4login.bat

@echo It is recommended that you run 'p4 configure set security=3' or
@echo 'p4 configure set security=4'.
@echo See: http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.superuser.html#DB5-49899\n"
# Change User Description Committed
#7 25113 Robert Cowham Merge latest changes from dev
#6 23483 Robert Cowham Merge in latest changes from dev - includes the mkrep changes.
#5 23430 Robert Cowham Merge in changes from dev
#4 23205 Robert Cowham Merged all changes from dev to test
#3 22142 Robert Cowham Merge in latest changes from Dev
#2 20726 Robert Cowham Catch up from dev
#1 18586 Robert Cowham Branching using cowhamr.sdp.dev
//guest/perforce_software/sdp/dev/Server/setup/configure_new_server.bat
#9 16805 Russell C. Jackson (Rusty) #review-16795

Added the audit log as a default structured log and set the rotation to keep 31 days.
#8 16460 C. Thomas Tyler Routine Merge Down to dev from main using:
p4 merge -b perforce_software-sdp-dev
#7 16335 C. Thomas Tyler Routine Merge Down to dev from main using:
p4 merge -b perforce_software-sdp-dev
#6 16029 C. Thomas Tyler Routine merge to dev from main using:
p4 merge -b perforce_software-sdp-dev
#5 15554 C. Thomas Tyler Routine merge-down from main.
#4 12030 C. Thomas Tyler Merged down from main to refresh dev branch for SDP.
#3 12028 C. Thomas Tyler Refreshed SDP dev branch, merging down from main.
#2 11463 Russell C. Jackson (Rusty) Updated dev to prepare for Summit agreed changes.
#1 10638 C. Thomas Tyler Populate perforce_software-sdp-dev.
//guest/perforce_software/sdp/main/Server/setup/configure_new_server.bat
#1 10148 C. Thomas Tyler Promoted the Perforce Server Deployment Package to The Workshop.