리눅스 네트워크 튜닝에 대한 중심적인 질문을하는 것이 좋은 생각이라고 생각합니다. 특히 다음에 대한 조정 옵션에 관심이 있습니다.
- 웹 서버
- 와니스 / 오징어 서버
- DB 서버
- 파일 서버
- 앱 서버
답변
이 시점에서는 일반적으로 커널 내에서 “튜닝”오버 헤드가 발생하지 않습니다. 당신이 테스트 장비 (또는 A / B 형에 옵션 클러스터) 및이 없다면 아주 좋은 문서를이 혼자 SYS-관리 오버 헤드 그럴 가치가 없어.
요즘 리눅스 커널에는 TCP의 자동 튜닝 이 잘되어 있지만, 더 잘할 수 있지만, 인터넷에서 “욕심이 많고”공정하지 않은 것으로 보이므로 기본값이 아닙니다.
튜닝에 가까워지면 다음과 같습니다.
- ext3 또는 xfs를 사용하여 noatime 마운트 (nodiratime 포함)
- 필요한 서비스 만 실행
- 오징어 및 mysql과 같은 서비스의 경우 더 많은 RAM을 사용할 수 있습니다.
드문 예외를 제외하고는이 세 가지로 90 %의 수익을 얻을 수 있습니다.
답변
네트워크 스택 튜닝 내가 수백 명의 사용자에게 연결하는 라우터 / 방화벽을 착용
net/ipv4/route/max_size=262144
net/ipv4/netfilter/ip_conntrack_tcp_timeout_established=18000
net/ipv4/neigh/default/gc_thresh1=1024
net/ipv4/neigh/default/gc_thresh2=2048
net/ipv4/neigh/default/gc_thresh3=4096
net/netfilter/nf_conntrack_max=128000
net/netfilter/nf_conntrack_expect_max=4096
[불쾌한 충돌로 인해 수년에 걸쳐 경험적으로 조정되었습니다]
file / sql / poroxy 서버의 경우 , 파일을 읽을 때마다 추가 디스크 휴지통을 피하기 위해 noatime, nodiratime 및 reiserfs-notail을 사용하여 데이터 / 스풀로 파티션을 마운트하려고합니다 .
용량 계획을 수행하고 튜닝이 실제로 시스템로드를 감소시키는 지 확인하려면 [ 예 : 아직 모르는;-] munin으로 통계를 수집 하십시오.
답변
web100 을보고 싶을 수도 있습니다 . 커널 패치이며 사용자 네트워크는 고성능 네트워크를 위해 Linux 커널을 최적화하도록 설계되었습니다.
Web100 프로젝트는 네트워크 기능의 규모에 관계없이 가용 대역폭의 100 %에서 공통 웹 응용 프로그램을 실행하는 완전한 호스트 소프트웨어 환경을 만드는 것을 목표로합니다.
고성능 SSH / SCP 도 확인하십시오 .
OpenSSH에서 SCP와 기본 SSH2 프로토콜 구현은 정적으로 정의 된 내부 흐름 제어 버퍼에 의해 네트워크 성능이 제한됩니다. 이 버퍼는 종종 네트워크 링크가 길고 높은 대역폭에서 SCP의 네트워크 처리량에 병목 현상을 일으키는 경우가 많습니다. 런타임시 버퍼를 정의 할 수 있도록 ssh 코드를 수정하면이 병목 현상이 제거됩니다.