#!/bin/bash #------------------------------------------------------------------------------ # Copyright (c) Perforce Software, Inc., 2007-2014. All rights reserved # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1 Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PERFORCE # SOFTWARE, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. #------------------------------------------------------------------------------ # Set P4PORT and P4USER and run p4 login before running this script. # Also run p4 triggers and put in the SetDefaultDepotSpeMapField.py trigger first as well. # Verify instance value INSTANCE=$1 if [[ -n "$INSTANCE" ]]; then source /p4/common/bin/p4_vars $INSTANCE else echo "Error: An instance argument is required." exit 1 fi # Basic secruity features. p4 configure set defaultChangeType=restricted p4 configure set run.users.authorize=1 # The server.depot.root configurable was introduced in 2014.1. if [[ "$P4D_VERSION" > "2014.1" ]]; then p4 configure set server.depot.root=$DEPOTS fi p4 configure set journalPrefix=$CHECKPOINTS/p4_${INSTANCE} p4 configure set dm.user.noautocreate=2 p4 configure set dm.user.resetpassword=1 p4 configure set filesys.P4ROOT.min=1G p4 configure set filesys.depot.min=1G p4 configure set filesys.P4JOURNAL.min=1G p4 configure set server=3 p4 configure set monitor=1 # For P4D 2013.2+, setting db.reorg.disable=1 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. It should be considered. ### [[ "$P4D_VERSION" > "2013.1" ]] && p4 configure set db.reorg.disable=1 # Set net.tcpsize when P4D is 2014.2 or less. In 2014.2 # the default changes from 2014.1, and this configurable # is best not set explicitly. [[ "$P4D_VERSION" < "2014.2" ]] && p4 configure set net.tcpsize=512k p4 configure set lbr.autocompress=1 p4 configure set lbr.bufsize=1M p4 configure set serverlog.file.3=$LOGS/errors.csv p4 configure set serverlog.retain.3=7 p4 configure set serverlog.file.7=$LOGS/events.csv p4 configure set serverlog.retain.7=7 p4 configure set serverlog.file.8=$LOGS/integrity.csv p4 configure set serverlog.retain.8=7 p4 depot -o specs | sed 's/^Type:\tlocal/Type: spec/g' | p4 depot -i p4 depot -o unload | sed 's/^Type:\tlocal/Type: unload/g' | p4 depot -i :: Load shedding and other performance-preserving configurable. :: See: http://answers.perforce.com/articles/KB/1272 :: For p4d 2013.1+ [[ "$P4D_VERSION" > "2013.1" ]] && p4 configure set server.maxcommands=1000 :: For p4d 2012.2+, set net.maxwait to drop a client connection if waits :: too long for any single network read or write. [[ "$P4D_VERSION" > "2012.2" ]] && p4 configure set net.maxwait=43200 :: For p4d 2013.2+ -Turn off max* commandline overrides. [[ "$P4D_VERSION" > "2013.2" ]] && 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 p4 configure set rpl.compress=3 p4 counter SDP_DATE `date "+%Y-%m-%d"` p4 counter SDP_VERSION "$SDP_VERSION" echo -e "\nIt is recommended that you run 'p4 configure set security=3' or\n'p4 configure set security=4'.\nSee: http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.superuser.html#DB5-49899\n"
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#45 | 30915 | C. Thomas Tyler |
Released SDP 2024.1.30913 (2024/11/20). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#44 | 30388 | C. Thomas Tyler |
Released SDP 2024.1.30385 (2024/06/11). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#43 | 30297 | C. Thomas Tyler |
Released SDP 2023.2.30295 (2024/05/08). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#42 | 30043 | C. Thomas Tyler |
Released SDP 2023.2.30041 (2023/12/22). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#41 | 29954 | C. Thomas Tyler |
Released SDP 2023.1.29949 (2023/12/01). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#40 | 29891 | C. Thomas Tyler |
Released SDP 2023.1.29699 (2023/07/11). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#39 | 29612 | C. Thomas Tyler |
Released SDP 2023.1.29610 (2023/05/25). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#38 | 28651 | C. Thomas Tyler |
Released SDP 2021.2.28649 (2022/03/03). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#37 | 27901 | C. Thomas Tyler |
Released SDP 2020.1.27899 (2021/07/13). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#36 | 27761 | C. Thomas Tyler |
Released SDP 2020.1.27759 (2021/05/07). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#35 | 27527 | C. Thomas Tyler |
Released SDP 2020.1.27524 (2021/02/26). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#34 | 27331 | C. Thomas Tyler |
Released SDP 2020.1.27325 (2021/01/29). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#33 | 26573 | C. Thomas Tyler | SDP patch for SDP-543. | ||
#32 | 26403 | C. Thomas Tyler |
Released SDP 2019.3.26400 (2020/03/28). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#31 | 26161 | C. Thomas Tyler |
Released SDP 2019.3.26159 (2019/11/06). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#30 | 25933 | C. Thomas Tyler |
Released SDP 2019.2.25923 (2019/08/05). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#29 | 25245 | C. Thomas Tyler |
Released SDP 2019.1.25238 (2019/03/02). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#28 | 23510 | C. Thomas Tyler |
Released SDP 2018.1.23504 (2018/01/19). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev', with selective removal of work-in-progress files. |
||
#27 | 23331 | C. Thomas Tyler |
Released SDP 2017.4.23329 (2017/12/05). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#26 | 23006 | C. Thomas Tyler |
Released SDP 2017.3.23003 (2017/10/19). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#25 | 22685 | Russell C. Jackson (Rusty) | Update main with current changes from dev. | ||
#24 | 22185 | C. Thomas Tyler |
Released SDP 2017.2.22177 (2017/05/17). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#23 | 21723 | C. Thomas Tyler |
Released SDP 2017.1.21720 (2017/02/17). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#22 | 21483 | C. Thomas Tyler |
Released SDP 2016.2.21480 (2017/01/11). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#21 | 21381 | C. Thomas Tyler |
Released SDP 2016.2.21379 (2016/12/20). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#20 | 21244 | C. Thomas Tyler |
Released SDP 2016.2.21239 (2016/12/06). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#19 | 21193 | Russell C. Jackson (Rusty) | Update main from dev. | ||
#18 | 20353 | C. Thomas Tyler |
Released SDP 2016.1.20348. Copy Up using 'p4 copy -r -b perforce_software-sdp-dev', with selective removal of changes related to work-in-progress changes. |
||
#17 | 19841 | C. Thomas Tyler |
Released SDP 2016.1.19838 (2016/06/26). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#16 | 19694 | C. Thomas Tyler |
Released SDP/MultiArch/2016.1/19661 (2016/06/08). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#15 | 19414 | C. Thomas Tyler | Released SDP/MultiArch/2016.1/19410 (2016/05/17). | ||
#14 | 18961 | C. Thomas Tyler | Released: SDP/MultiArch/2016.1/18958 (2016/04/08). | ||
#13 | 16807 | Russell C. Jackson (Rusty) | Merged approved changes in from dev. | ||
#12 | 16459 | C. Thomas Tyler |
For p4d 2011.1 thru 2015.1, set rpl.compress=3. For p4d 2015.2+, set rpl.compress=4. A value of 4, new in P4D 2015.2, 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. #review @scommon |
||
#11 | 16276 | Russell C. Jackson (Rusty) | Bumped mins up to 5G | ||
#10 | 15856 | C. Thomas Tyler |
Replaced the big license comment block with a shortened form referencing the LICENSE file included with the SDP package, and also by the URL for the license file in The Workshop. |
||
#9 | 15552 | C. Thomas Tyler |
Removed net.maxwait setting. Considerations: * Our KB Article says not to set it: http://answers.perforce.com/articles/KB/3751 * The value of 600 (10 mintues) was too low, and was observed to break replication. * This was originally thought to be a server-side 'zombie process' defense, but it has undesirable side-effects. #review-15553 |
||
#8 | 12112 | Russell C. Jackson (Rusty) | Increased maxcommands to 2500 and dropped maxwait to 600. | ||
#7 | 12106 | C. Thomas Tyler |
Corrected annoying but otherwise harmless warnings due to having Windows batch style comments in the Unix shell script. |
||
#6 | 12029 | C. Thomas Tyler |
Clarified appropriate P4D version string checks in *.sh version, and made cosmetic tweaks to *.sh and *.bat versions. |
||
#5 | 12026 | C. Thomas Tyler |
Updated a few configurables, including net.maxwait that may help prevent P4EXP from building up idle prococesses on p4d. |
||
#4 | 11722 | adrian_waters |
Remove redundant version-specific setting of monitor: [[ "$P4D_VERSION" > "2014.1" ]] && p4 configure set monitor=1 Script subsequently sets monitor=1 independant of version |
||
#3 | 11524 | Russell C. Jackson (Rusty) | Released updated version of the SDP from Dev. | ||
#2 | 11408 | C. Thomas Tyler |
Added recommended SDP setting setting of db.reorg.disable=1. It is commented out by default, with a comment indicating that the db.reorg.disable configurable should be considered when databases are stored on solid state storage, as it results in performance improvement for some (but not all) solid state storage devices. #review-11175 @michael_shields Updated from first shelve for review: * Changed version from 2014.2 to 2013.2. * Fixed grammatical error in comment. * Corrected comment style to Windows for *.bat file ('#' --> '::'). Updated from second shelve for review: * Updated comments above and in the code based on feedback, especially that the performance improvement is not universal on all solid state devices. |
||
#1 | 10148 | C. Thomas Tyler | Promoted the Perforce Server Deployment Package to The Workshop. |