|
|
게시됨 2022. 1. 16. 오후 1:46:40
|
|
|
|

웹사이트 프로그램은 asp.net 코어에서 개발되며, 브라우저가 페이지를 요청하면 서버가 nginx 리버스 프록시를 통해 .NET 프로그램으로 연결되어야 하며, 스트레스 테스트 중에 503 오류를 보고합니다:
503은 HTTP 상태 코드입니다.임시 서버 유지보수 또는 과부하로 인해 서버가 현재 요청을 처리할 수 없습니다。 이 상태는 일시적이며 시간이 지나면 회복될 것입니다.
일반적으로 503 오류는 많은 웹사이트 방문 수로 인해 발생하며, 이는 과도한 트래픽이나 많은 동시성 오류로 인해 발생합니다.
배럴 원리 분석에 따르면, 성능 병목 현상을 일으키는 여러 요인이 있습니다. 우선 리눅스 튜닝 기준은 다음과 같습니다:
전문 압력 시험 도구를 통해 압력 시험 결과는 다음과 같습니다:
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 데이터베이스 관리 도구 다운로드
|