학습 노트 (개인 기록)

nginx 학습 노트 (1) - nginx 의 성능 최적화
필 기 는 nginx 의 학습 을 기록 하 는 데 사용 되 는데 대부분 인터넷 에 있 는 지식 을 옮 겨 서 스스로 이해 하고 정리 합 니 다.
       nginx-rtmp         ,                  ,     nginx     ,           。

1. nginx 의 비동기 비 차단 은 오늘 한 편의 글 을 보 았 습 니 다. Nginx 의 비동기 비 차단 을 말 하 는 것 입 니 다. 마침 프로젝트 에서 nginx 의 문 제 를 만 났 습 니 다. 먼저 기록 을 배우 고 다음은 문장의 연결 입 니 다.
http://blog.csdn.net/dutsoft/article/details/55224755 설정 은 다음 과 같 습 니 다:
events {
    worker_connections  1024;
    use kqueue;  #  Linux   :use epoll;
}

nginx 를 여 는 비동기 비 차단 작업 방식 입 니 다. 이런 방식 을 사용 하면 높 은 병행 문 제 를 쉽게 처리 할 수 있 습 니 다. (이 기능 은 windows 에서 열 수 없고 두 가지 방식 을 식별 할 수 없습니다. 연구 해 야 합 니 다)
2. nginx 프로 세 스 설정
worker_processes 3;

일반적으로 서버 에 몇 개의 논리 cpu 가 있 으 면 몇 개의 프로 세 스 를 설정 합 니 다. 논리 cpu 는 우리 가 일반적으로 말 하 는 몇 개의 핵 입 니 다. 여기 서 먼저 기록 하고 테스트 합 니 다.
3. Nginx 연결 시간 초과 최적화
https://www.cnblogs.com/pzk7788/p/6923614.html (1) keepalive_timeout: 이 매개 변 수 는 클 라 이언 트 연결 유지 세 션 의 시간 초과 시간 을 설정 하 는 데 사 용 됩 니 다. 이 시간 이 지나 면 서버 에서 이 연결 을 닫 습 니 다 (2) clientheader_timeout: 이 매개 변 수 는 클 라 이언 트 요청 헤더 데 이 터 를 읽 는 시간 초과 시간 을 설정 하 는 데 사 용 됩 니 다. 시간 초과 클 라 이언 트 가 완전한 헤더 데 이 터 를 보 내지 않 으 면 서버 는 "Request time out (408)" 오류 (3) client 를 되 돌려 줍 니 다.body_timeout: 이 매개 변 수 는 클 라 이언 트 가 요청 한 주체 데 이 터 를 읽 는 시간 초과 시간 을 설정 하 는 데 사 용 됩 니 다. 시간 초과 클 라 이언 트 가 완전한 주체 데 이 터 를 보 내지 않 으 면 서버 는 "Request time out (408)" 오류 (4) send 를 되 돌려 줍 니 다.timeout: 응답 클 라 이언 트 의 시간 초과 시간 을 지정 하 는 데 사 용 됩 니 다. 이 시간 을 초과 하면 클 라 이언 트 가 아무런 활동 이 없 으 면 Nginx 는 연결 을 닫 습 니 다 (5) tcpnodelay: 기본 적 인 상황 에서 데 이 터 를 보 낼 때 커 널 은 바로 보 내지 않 습 니 다. 더 많은 바이트 가 패 킷 을 구성 하 기 를 기다 릴 수 있 습 니 다. 그러면 I / O 성능 을 향상 시 킬 수 있 습 니 다. 그러나 매번 적은 바이트 만 보 내 는 업무 장면 에서 tcp 를 사용 합 니 다.nodelay 기능, 대기 시간 이 길 어 집 니 다.
nginx - rtmp 모듈 에 사용 할 수 있 는 설정 도 고려 해 야 합 니 다.

좋은 웹페이지 즐겨찾기