이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 6864|회답: 4

Nginx HTTP 요청 동시성의 실용적 최적화

[링크 복사]
게시됨 2022. 1. 16. 오후 1:46:40 | | | |
웹사이트 프로그램은 asp.net 코어에서 개발되며, 브라우저가 페이지를 요청하면 서버가 nginx 리버스 프록시를 통해 .NET 프로그램으로 연결되어야 하며, 스트레스 테스트 중에 503 오류를 보고합니다:

503 서비스 일시 불사용

503은 HTTP 상태 코드입니다.임시 서버 유지보수 또는 과부하로 인해 서버가 현재 요청을 처리할 수 없습니다。 이 상태는 일시적이며 시간이 지나면 회복될 것입니다.

일반적으로 503 오류는 많은 웹사이트 방문 수로 인해 발생하며, 이는 과도한 트래픽이나 많은 동시성 오류로 인해 발생합니다.

배럴 원리 분석에 따르면, 성능 병목 현상을 일으키는 여러 요인이 있습니다. 우선 리눅스 튜닝 기준은 다음과 같습니다:

리눅스(CentOS)는 서버 성능 튜닝을 제한합니다
https://www.itsvse.com/thread-10134-1-1.html

전문 압력 시험 도구를 통해 압력 시험 결과는 다음과 같습니다:

.NET/C# 로드 테스트 NBomber 간단한 튜토리얼
https://www.itsvse.com/thread-9993-1-1.html



Nginx 튜닝

worker_processes 다음과 같이 자동 설정:

nginx가 자동으로 필요에 맞게 조정되도록 하세요.

이벤트 설정은 다음과 같습니다:

epoll 모드를 사용하여 동시 연결 수를 늘리고, nginx 시스템의 동시 연결 용량을 늘리며, 작업자가 동시에 열 수 있는 최대 연결 수를 설정합니다. 문서 소개:하이퍼링크 로그인이 보입니다.

튜닝 후 압력 테스트를 수행하면 아래 그림에서 보듯이 503 오류가 더 이상 발생하지 않습니다:


nginx 리버스 프록시를 사용해 php-fpm으로 전달하면 다음과 같은 오류가 발생할 수 있습니다:

2022/01/16 16:08:01 [치명적] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" 실패 (24: 열린 파일이 너무 많음), 클라이언트: 100.116.153.2, 서버:www.itsvse.com, 요청: "GET /forum.php HTTP/1.1", 업스트림: "fastcgi://127.0.0.1:9000", 호스트: "www.itsvse.com"
2022/01/16 16:08:01 [경고] 968#0: *12956 소켓() 실패 (24: 너무 많은 열린 파일) 상행 연결 중 클라이언트: 100.116.153.109, 서버:www.itsvse.com, 요청: "GET /forum.php HTTP/1.1", 업스트림: "fastcgi://127.0.0.1:9000", 호스트: "www.itsvse.com"
2022/01/16 16:08:01 [치명] 968#0: *12956 open() "/alidata/www/itsvse_web/50x.html" 실패 (24: 열린 파일이 너무 많음), 클라이언트: 100.116.153.109, 서버:www.itsvse.com, 요청: "GET /forum.php HTTP/1.1", 업스트림: "fastcgi://127.0.0.1:9000", 호스트: "www.itsvse.com"



worker_rlimit_nofile 매개변수는 다음과 같이 설정하세요:



문서조사:하이퍼링크 로그인이 보입니다.

(끝)





이전의:Ubuntu, CentOS, RedHat 간의 차이점과 연결
다음:OceanBase 데이터베이스 관리 도구 다운로드
게시됨 2022. 1. 16. 오후 9:02:14 |
다시 와서 배워
게시됨 2022. 1. 24. 오전 11:18:47 |
배웠어요, 감사합니다
 집주인| 게시됨 2023. 3. 30. 오전 10:01:36 |
Nginx:413 요청 엔터티가 너무 큽니다
https://www.itsvse.com/thread-10545-1-1.html
 집주인| 게시됨 2023. 3. 30. 오전 10:01:45 |
Nginx가 HTTP/2 프로토콜 지원 기능을 추가했습니다
https://www.itsvse.com/thread-10307-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com