티스토리 뷰
본 포스팅은 WEB Server 설치 시 권고 파라미터에 대해 알아보겠습니다.
WEB Server 설치 시 OS Kernel 권고 Parameter에 대해 살펴보겠습니다.
파라미터 | 설명 | 권고값 |
net.ipv4.tcp_keepalive_intvl | TCP TIME_WAIT 상태를 줄이기 위한 설정 | 15 |
net.ipv4.tcp_keepalive_probes | 손실된 TCP 상태 감지 시간 설정 | 5 |
net.ipv4.tcp_keepalive_time | keep alive 시간을 설정 | 30 |
net.ipv4.ip_local_port_range | 사용할 수 있는 포트 범위를 설정 | 1024 - 65000 |
net.core.netdev_max_backlog | 백로그에 들어오는 소켓 개수를 설정 | 2500 |
net.ipv4.tcp_retries1 | TCP 연결에 문제가 있을 때 연결을 재시도하는 횟수 | 3 |
net.ipv4.tcp_retries2 | TCP 연결을 끊기 전에 재시도하는 횟수 | 3 |
net.core.rmem_max | TCP 수신 버퍼크기 최대값 설정 | 56777216 |
net.core.rmem_default | TCP 수신 버퍼크기 기본값 설정 | 16777216 |
net.core.wmem_max | TCP 전송 버퍼크기 최대값 설정 | 56777216 |
net.core.wmem_default | TCP 전송 버퍼크기 기본값 설정 | 16777216 |
net.ipv4.tcp_window_scaling | 65kb 이상의 큰 TCP 윈도우 스케일링 사용 | 1 |
net.ipv4.tcp_orphan_retries | 서버 측에서 닫은 TCP 연결을 끊기 전에 확인하는 횟수 (기본값은 7로 50초에서 16분까지 소요) | 0 |
net.ipv4.tcp_sack | SYNC 패킷을 전송한 후 일부 ACK를 받지 못했을 경우 선택적으로 받지 못한 ACK 패킷을 받도록 설정 (0은 받지 않는 설정, 1은 패킷 유실이 많은 사이트에 설정) | 0 |
net.ipv4.tcp_fin_timeout | FIN 타임아웃을 시간을 줄여 FD를 빠르게 확보 | 15 |
반영 방법
vi /etc/sysctl.conf
# Update Kernel Parameter
net.ipv4.tcp_keepalive_time=30
net.ipv4.ip_local_port_range=1024 65000
net.core.netdev_max_backlog=2500
net.ipv4.tcp_retries1=3
net.ipv4.tcp_retries2=3
net.core.rmem_max=56777216
net.core.rmem_default=16777216
net.core.wmem_max=56777216
net.core.wmem_default=16777216
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_orphan_retries=0
net.ipv4.tcp_sack=0
net.ipv4.tcp_fin_timeout=10
vi /etc/security/limits.conf
...
...
apache hard nofile 65536
apache soft nofile 65536
ulimit –n 값 확인 (max number of open files )
- max number of open files값이 디폴트값이 1024이며, 최소 8192 이상으로 설정 권고함.
- 아래와 같이 /etc/security/limits.conf 파일에서 수정하면 영구적으로 적용된다.
[확인방법] test:/home/nrson> ulimit -a : (생략) max number of open files (-n) 65536 max user processes (-u) 65536 [변경방법] /etc/security/limits.conf를 추가하는 방법이 있다. |
/etc/security/limits.conf에 아래의 내용을 추가한다. # nofile tunning - max number of open files apache hard nofile 65536 apache soft nofile 65536 apache soft npoc 2047 apache hard npoc 16384 |
/etc/sysctl.conf 파일을 아래와 같이 수정한다. 그리고, 바로 적용하기 위해서 root권한에서 sysctl -p 명령을 실행한다. 그러면, OS를 restart하더라도 설정한 TCP 커널 파라미터 값들이 초기화되지 않는다.
적용된 내용을 확인하는 방법은 sysctl –a 명령을 실행하면 결과값이 출력된다.
# Update Kernel Parameter net.ipv4.tcp_keepalive_intvl = 15 net.ipv4.tcp_keepalive_probes = 5 net.ipv4.tcp_keepalive_time = 30 net.ipv4.ip_local_port_range=1024 65000 net.core.netdev_max_backlog=2500 net.ipv4.tcp_retries1=3 net.ipv4.tcp_retries2=3 net.core.rmem_max=56777216 net.core.rmem_default=16777216 net.core.wmem_max=56777216 net.core.wmem_default=16777216 net.ipv4.tcp_window_scaling=1 net.ipv4.tcp_orphan_retries=0 net.ipv4.tcp_sack=0 net.ipv4.tcp_fin_timeout=15 |
http://publib.boulder.ibm.com/wasce/V1.0.1/ko/Tasks/Tuning/Linux.html
'④ 미들웨어' 카테고리의 다른 글
[JDK] OpenJDK 다운로드 (0) | 2019.01.13 |
---|---|
Kernel Parameter (TCP Parameter 정복하기) (0) | 2019.01.13 |
[WAS] 각 벤더사 별 Datasource 확인 (0) | 2018.09.02 |
[WAS] 각 벤더사 별 주요 환경파일 분석 (0) | 2018.08.27 |
[Web Application Server] Architecture (WEB / WAS 부문) (5) | 2018.08.27 |
- Total
- Today
- Yesterday
- apache
- JEUS7
- openstack tenant
- OpenStack
- 아키텍처
- JBoss
- API Gateway
- 쿠버네티스
- Architecture
- node.js
- SWA
- aws
- wildfly
- Da
- Docker
- 오픈스택
- openstack token issue
- jeus
- MSA
- nodejs
- k8s
- 마이크로서비스 아키텍처
- git
- SA
- webtob
- TA
- 마이크로서비스
- kubernetes
- aa
- JEUS6
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |