퍼포스에서 sync나 submit 작업 시 멀티 스레드로 동시에 여러 파일을 전송하면 성능을 향상할 수 있다.
해당 기능을 적용하려면 퍼포스 관리자 권한이 있어야 한다.
관리자라면 퍼포스 서버에 직접 들어갈 필요 없이 본인 PC에서 원격으로 설정할 수 있다.
먼저, 콘솔창을 연다.
현재 서버에 설정된 값을 보는 방법은 다음과 같다.
p4 configure show |
서버의 병렬처리 기능을 켜고 싶다면 다음의 명령어를 쓰면 된다. (숫자는 스레드 개수인데 1보다 커야 한다)
p4 configure set net.parallel.max=4 |
참고로, 서버를 재시작할 필요 없이 바로 적용된다.
서버에 위의 옵션을 켜 놓으면 클라에서는 바로 멀티 스레드를 활용할 수 있다.
예를 들어 다음과 같이 사용하면 된다.
p4 sync --parallel=threads=4 ... p4 submit --parallel=threads=4 ... |
만약, 모든 클라에 기본으로 병렬 sync 옵션을 적용하고 싶으면, 다음의 변수를 추가로 설정하면 된다.
p4 configure set net.parallel.threads=4 |
submit에 대해서도 모든 클라에 기본으로 적용하고 싶으면, 다음의 변수를 설정하면 된다.
p4 configure set net.parallel.submit.threads=4 |
위의 모든 옵션을 적용했을 때 설정값은 다음과 같다. (p4 configure show 명령어 사용)
설정된 변수를 지우고 싶으면 unset 옵션을 써서 삭제하면 된다.
p4 configure unset net.parallel.max p4 configure unset net.parallel.threads p4 configure unset net.parallel.submit.threads |
참고로 퍼포스 클라이언트 UI(p4v)에서는 병렬 서밋 옵션은 기본적으론 꺼져 있다.
참고 링크:
https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_sync.html#Parallel
p4 sync
p4 sync Copy the latest revision of all files from the depot to the client workspace, as mapped through the client view. If the file is already open in the client workspace, or if the latest revision of the file exists in the client workspace, it is not co
www.perforce.com
ps. 병렬처리 옵션을 켠다고 다 좋은 건 아니다. 싱글 스레드 방식의 p4v에서 sync 시에는 읽기 전용 속성이 풀린 파일을 찾아내 강제로 받을 것인가를 물어보는 팝업이 뜨지만, 병렬처리 시에는 이게 작동하지 않을 수 있다. 또, 많은 사람이 동시에 sync를 받으면 서버에 과부하가 걸리기도 한다.
서밋을 할 때도 여러 사람이 동시에 많은 파일을 서밋 하면 서버가 멈추는 경우가 생길 수 있다.
ps. 사실, 이런저런 문제점들 때문에 net.parallel.max 옵션만 설정하고, 빌드서버에서만 --parallel=threads 옵션을 넣어서 사용 중이다. 바이너리 파일을 서밋 할 때 zip으로 압축을 하는데, 멀티 스레드를 사용하지 않으면 많이 느리다.
'개발 > 일반' 카테고리의 다른 글
몬티홀 딜레마 코드로 검증하기 (0) | 2022.08.13 |
---|---|
[젠킨스] 잡을 복사했는데, build 버튼이 사라졌다 (0) | 2022.05.21 |
[젠킨스] 플러그인 다운로드 오류 (2) | 2022.04.24 |
배치 파일의 if 문 안에서 errorlevel (3) | 2021.12.28 |
비주얼 스튜디오 2019 깨끗하게 지우는 방법 (0) | 2021.08.16 |