nginx의 http20 성능은 놀랍습니다. HTTPS 웹사이트 성능 최적화
배경
우리는 7개의 로드 계층을 갖고 있으며 24U 64G 메모리를 갖춘 5개의 물리적 머신을 사용합니다. Branch nginx는 https 암호화, 암호 해독 및 Proxy_pass를 수행합니다. 매일 출퇴근하는 동안 5대 기계의 CPU는 기본적으로 약 50% 수준이며 이는 컴퓨팅 유형으로 간주됩니다.
최적화 방법: keepalive, TLS1.2 암호화 알고리즘 최적화(참조: 1, 2) 등은 거의 효과가 없습니다.
서버가 이를 어떻게 지원하든 핵심은 클라이언트가 계속 유지하지 않으면 망할 것이라는 점입니다.
테스트 프로세스
- 하드웨어: 24U 64G 물리적 머신 2개, 테스트용 1개, ngx 실행용 1개, 동일한 LAN, 1GB 네트워크 카드.
-
nginx -V:
버전: openresty/1.9.7.3
gcc 4.8.5 20150623(Red Hat 4.8.5-4)(GCC)에 의해 구축
OpenSSL 1.0.1e-fips로 구축, 2013년 2월 11일
TLS SNI 지원 활성화
–with-http_v2_module Apache의 ab 스트레스 테스트 도구: yum 설치
- boom은 ab를 시뮬레이션하는 golang에 의해 구현된 스트레스 테스트 도구입니다: https //github.com/rakyll/boo
- nghttp2의 h2load 스트레스 테스트 도구: https://github.com/tatsuhiro-t/nghttp2
- CentOS-7 64비트
- 테스트 파일 크기: 5k, 10k 이미지, 정적 파일에 대한 https 테스트.
- 테스트 과정 중 매개변수를 간단히 살펴보면: -c=100~3000, -n=1k~10kw의 다양한 조합, h2load 사용 시 -m=1~1000이 시도됨, -m 범위 크기는 http2 결과에 거의 영향을 미치지 않습니다.
그림:
흐름도를 넣으면 이해가 될 것입니다.
아래 그림은 ab와 boom을 사용할 때를 보여줍니다.
이때 ab, boom 모두 -k를 사용합니다. 어떻게 연주해도 측정치나 시간은 대략 이 수준입니다.
예를 들어, 다음 명령은 기본적으로 실행하는 데 30분이 걸립니다.
boom -c 1000 -n 1000000 -allow-insecure https://172.16.9.234/5k.jpg
ab -c 1000 -n 1000000 -khttps://172.16.9.234/5k.jpg
매개변수가 http2로 변경되지 않은 경우:
h2load -c 1000 -n 1000000 -m1 https://172.16.9.234/5k.jpg
h2load 실행 결과는 다음과 같습니다.
다음 그림은 h2load 테스트를 보여줍니다. http2:
기가비트 네트워크 카드, 아웃바운드 트래픽이 완전히 로드되었습니다.
결론
다음 결론은 반복적으로 테스트되었으며 내 의견만을 나타냅니다. toontong.
- 동일수, http2. 4.3G 데이터를 전송하는 데 43초 밖에 걸리지 않았지만 http1.1은 40분 이상 걸렸습니다.
- 전송 성능 측면에서 전송 성능이 10배 이상 향상되었으며, 당사의 주요 https CPU 사용량에 미치는 영향은 매우 분명합니다.
- 물론 웹 서비스의 전반적인 성능 향상이 10배는 아닙니다. 그 이유는 연결을 설정하는 데 시간이 걸리기 때문입니다. 더 많은 이유로 http2 원리를 깊이 있게 연구해야 합니다.
- http2-client 라이브러리는 go1.6 이후에만 지원됩니다. go 하위 버전의 경우 https://github.com/tatsuhiro-t/go-nghttp2 http2가 정말 인기가 많다면 .0은 전체 인터넷 트래픽과 인터넷 기업의 머신 절약에 큰 도움이 됩니다.
').addClass('사전 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 위에서는 콘텐츠 측면을 포함하여 놀라운 HTTPS 웹사이트 성능 최적화인 nginx의 http20 성능을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTTP 상태 코드 520은 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생하여 더 구체적인 정보를 제공할 수 없음을 의미합니다. 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생했음을 나타내는 데 사용됩니다. 이는 서버 구성 문제, 네트워크 문제 또는 기타 알 수 없는 이유로 인해 발생할 수 있습니다. 이는 일반적으로 서버 구성 문제, 네트워크 문제, 서버 과부하 또는 코딩 오류로 인해 발생합니다. 상태 코드 520 오류가 발생하면 웹사이트 관리자나 기술 지원팀에 문의하여 자세한 정보와 지원을 받는 것이 가장 좋습니다.

NginxProxyManager를 사용하여 HTTPS 프로토콜에서 역방향 프록시를 구현하는 방법 최근 몇 년 동안 인터넷의 인기와 응용 프로그램 시나리오의 다양화로 인해 웹 사이트 및 응용 프로그램의 액세스 방법이 점점 더 복잡해졌습니다. 웹사이트 액세스 효율성과 보안을 향상시키기 위해 많은 웹사이트에서는 사용자 요청을 처리하기 위해 역방향 프록시를 사용하기 시작했습니다. HTTPS 프로토콜의 역방향 프록시는 사용자 개인 정보를 보호하고 통신 보안을 보장하는 데 중요한 역할을 합니다. 이 기사에서는 NginxProxy를 사용하는 방법을 소개합니다.

HTTP 상태 코드 403은 서버가 클라이언트의 요청을 거부했음을 의미합니다. http 상태 코드 403에 대한 해결 방법은 다음과 같습니다. 1. 서버에 인증이 필요한 경우 올바른 자격 증명이 제공되었는지 확인합니다. 2. 서버가 IP 주소를 제한한 경우 클라이언트의 IP 주소가 제한되어 있거나 블랙리스트에 없습니다. 3. 파일 권한 설정을 확인하십시오. 403 상태 코드가 파일 또는 디렉토리의 권한 설정과 관련되어 있으면 클라이언트가 해당 파일 또는 디렉토리에 액세스할 수 있는 권한이 있는지 확인하십시오. 등.

NginxProxyManager를 사용하여 HTTP에서 HTTPS로의 자동 점프를 구현하는 방법 인터넷이 발전하면서 점점 더 많은 웹사이트가 HTTPS 프로토콜을 사용하여 데이터 전송을 암호화하여 데이터 보안과 사용자 개인 정보 보호를 향상시키기 시작했습니다. HTTPS 프로토콜에는 SSL 인증서 지원이 필요하므로 HTTPS 프로토콜 배포 시 특정 기술 지원이 필요합니다. Nginx는 강력하고 일반적으로 사용되는 HTTP 서버 및 역방향 프록시 서버이며 NginxProxy

HTTP 301 상태 코드의 의미 이해: 웹 페이지 리디렉션의 일반적인 응용 시나리오 인터넷의 급속한 발전으로 인해 사람들은 웹 페이지 상호 작용에 대한 요구 사항이 점점 더 높아지고 있습니다. 웹 디자인 분야에서 웹 페이지 리디렉션은 HTTP 301 상태 코드를 통해 구현되는 일반적이고 중요한 기술입니다. 이 기사에서는 HTTP 301 상태 코드의 의미와 웹 페이지 리디렉션의 일반적인 응용 프로그램 시나리오를 살펴봅니다. HTTP301 상태 코드는 영구 리디렉션(PermanentRedirect)을 나타냅니다. 서버가 클라이언트의 정보를 받을 때

빠른 적용: PHP의 실제 개발 사례 분석 여러 파일의 비동기 HTTP 다운로드 인터넷의 발전으로 파일 다운로드 기능은 많은 웹 사이트와 응용 프로그램의 기본 요구 사항 중 하나가 되었습니다. 여러 파일을 동시에 다운로드해야 하는 시나리오의 경우 기존 동기 다운로드 방법은 비효율적이고 시간이 많이 걸리는 경우가 많습니다. 이러한 이유로 PHP를 사용하여 HTTP를 통해 여러 파일을 비동기적으로 다운로드하는 것이 점점 더 일반적인 솔루션이 되었습니다. 본 글에서는 실제 개발 사례를 통해 PHP 비동기 HTTP를 활용하는 방법을 자세히 분석해 보겠습니다.

해결 방법: 1. 요청 헤더에서 Content-Type을 확인합니다. 2. 요청 본문에서 데이터 형식을 확인합니다. 3. 적절한 인코딩 형식을 사용합니다. 4. 적절한 요청 방법을 사용합니다. 5. 서버측 지원을 확인합니다.

C#의 일반적인 네트워크 통신 및 보안 문제와 해결 방법 오늘날 인터넷 시대에 네트워크 통신은 소프트웨어 개발에 없어서는 안 될 부분이 되었습니다. C#에서는 일반적으로 데이터 전송 보안, 네트워크 연결 안정성 등과 같은 일부 네트워크 통신 문제가 발생합니다. 이 문서에서는 C#의 일반적인 네트워크 통신 및 보안 문제에 대해 자세히 설명하고 해당 솔루션과 코드 예제를 제공합니다. 1. 네트워크 통신 문제 네트워크 연결 중단: 네트워크 통신 과정에서 네트워크 연결이 중단될 수 있으며, 이로 인해
