답변:
서버 성능 모드를 설정하면 가능한 최대 / 허용 프로세스 및 연결 수와 관련된 일부 커널 / 넷 매개 변수가 증가하고 일부 메모리 / 타이머 설정이 수정됩니다.
...
kern.maxvnodes: 66560 > 300000
kern.maxproc: 1064 > 5000
...
kern.maxfilesperproc: 10240 > 150000
kern.maxprocperuid: 709 > 3750
kern.ipc.maxsockbuf: 4194304 > 8388608
...
kern.ipc.somaxconn: 128 > 1024
...
kern.ipc.nmbclusters: 32768 > 65536
...
kern.ipc.sbmb_cnt_peak: 1120 > 1170
...
kern.ipc.njcl: 10920 > 21840
...
kern.timer.longterm.qlen: 100 > 0
kern.timer.longterm.threshold: 1000 > 0
...
net.inet.ip.maxfragpackets: 1024 > 2048
...
net.inet.tcp.tcbhashsize: 4096 > 8192
...
net.inet.tcp.fastopen_backlog: 10 > 200
...
net.inet6.ip6.maxfragpackets: 1024 > 2048
...
net.inet6.ip6.maxfrags: 2048 > 4096
#and some very special vm page-outs/compressor and and memory/cache settings
목표는 더 많은 열린 파일 (특히 웹 서버에 필요)과 연결이 동시에 더 많은 클라이언트에 서비스를 제공하고 메모리 / 가상 메모리에서 단일 서버 스레드를 더 빨리 버리는 것입니다 (특정 수정 사항을 올바르게 해석하는 경우).
과거에 Apple은 다른 OS를 출시했으며 이제는 소비자 OS 위에 서버를로드하는 몇 가지 기본 튜닝을 통해 운영 체제를 사용하여 한 사람에 맞게 조정되는 대신 서버에 연결하는 25 명의 사용자가 운영 체제에서 프로세스를 실행할 수 있습니다. 이러한 튜닝은 시작점 일뿐입니다. 서버가 높은 부하에서 수행되기를 원하는 사람은 성능 모드를 켜거나 끄는 것보다 훨씬 더 세부적인 수준으로 작업을 사용자 지정하고 모니터링해야합니다.
또한 이러한 제한은 주로 프로세스 간 통신 신호 채널 (ipc)과 같은 제한된 리소스를 소모하여 나쁜 소프트웨어가 서버를 중단시키는 것을 방지하기위한 것입니다. 한 명의 사용자가 실행중인 시스템에서 수십 명의 사용자에 대해 수십 개의 프로세스가 실행되는 경우보다 더 빨리 런 어웨이 프로세스를 중지하려고합니다. "성능"은 "하나의 파일 또는 하나의 웹 페이지를 더 빨리 제공"하는 것과는 반대로 약간의 제한을 높이는 것으로 볼 수 있습니다.
sysctl -a
서버 조정 또는 커널 매개 변수 수정을 처음 사용하는 경우 가장 먼저 볼 수있는 사항을 요약 한 것입니다. 다른 사람들을 도울 수 있도록 답변에 "의견"을 추가하겠습니다. 표현 된 의견이 귀하의 의견이 아닌 경우 편집 한 내용을 되 돌리십시오.