Tips
우리가 웹을 탐색할 때, 동시 브라우저 수인 탐색 속도에 영향을 미치는 중요한 요소가 있습니다. 동시성 수는 간단히 말해서 웹 페이지를 탐색할 때 동시에 수행되는 작업 수를 나타냅니다.
물론, 브라우저의 동시 요청 수 제한은 동일한 도메인 이름에 대한 것입니다. 동일한 도메인 이름으로 동시에 요청하는 횟수에는 일정한 제한이 있습니다.
먼저 각 브라우저의 동시 연결 수를 살펴보겠습니다.
이 결정을 내릴 때 브라우저가 고려할 수 있는 사항을 나열해 보겠습니다.
tcp 프로토콜의 제한으로 인해 PC는 측면에는 외부 연결에 사용할 수 있는 포트가 65536개만 있으며 운영 체제는 운영 체제의 tcpip 프로토콜 스택 리소스가 빨리 소모되는 것을 방지하기 위해 반 개방 연결 수를 제한합니다. 따라서 브라우저는 너무 많은 연결을 발행해서는 안 됩니다. 하지만 TCP 연결을 다 사용한 후에는 다시 사용하거나 간단히 TCP 연결을 다시 설정하세요.
블로킹 소켓 모델을 사용하여 연결을 설정하는 경우 동시에 여러 연결을 실행하면 브라우저가 여러 스레드를 더 열어야 하며 스레드는 때때로 경량 리소스로 간주되지 않습니다. 컨텍스트 전환 비용이 많이 들면 수행됩니다.
서버를 보호하는 성실한 클라이언트 역할을 하는 브라우저입니다. 이더넷의 충돌 감지 메커니즘과 마찬가지로 클라이언트는 공용 리소스를 사용할 때 대기 기간을 스스로 결정해야 합니다. 2개 이상의 클라이언트가 공용 리소스를 사용하려는 경우 강력한 사악한 클라이언트로 인해 약한 클라이언트가 공용 리소스에 완전히 액세스하지 못하게 될 수 있습니다. 과거 Xunlei는 HTTP 프로토콜 클라이언트로서 서버에 대한 압력을 고려하지 않았기 때문에 업로드 볼륨을 상환해야 하는 의무를 고려하지 않았다는 이유로 비판을 받았습니다.
Taobao tengine
우리가 일부 웹사이트를 방문하면 코드의 일부 js 및 css 파일이 하나의 요청을 통해 얻어지는 것을 볼 수 있습니다. 위의 작은 지식을 통해 동시 브라우저 요청 수를 알 수 있습니다. 제한적이지만 여러 레코드를 하나의 요청으로 결합하면 응답 속도가 더 빨라질 수 있습니다.
타오바오에서 사용하는 tengine은 2011년 말부터 오픈소스로 공개된 nginx 기반의 웹서버입니다. 오픈 소스 모듈 nginx-http-concat은 여러 파일을 하나의 응답 메시지로 병합할 수 있습니다.
설치
타사 모듈 최초 설치 nginx-http-concat
wget http://tengine.taobao.org/download/tengine-2.2.0.tar.gz wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -o nginx-http-concat-master.zip unzip nginx-http-concat-master.zip tar -xzvf tengine-2.2.0.tar.gz cd tengine-2.2.0
구성, 컴파일 및 설치
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=../nginx-http-concat-master make make install
nginx가 이미 설치되어 있는 경우 타사 플러그인을 구성하기만 하면 됩니다. nginx -v, nginx 버전을 확인하고, 그렇지 않은 경우 해당 버전을 다운로드합니다.
코드를 실행하기만 하면 됩니다.
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=../nginx-http-concat-master make
컴파일 성공 후
#复制之前请备份nginx执行文件 cp /objs/nginx /usr/local/nginx/sbin/nginx
nginx를 종료하고 다시 시작하세요.
Configuration
위치 섹션에 다음 구성을 추가하세요:
location /static/css/ { concat on; concat_max_files 20; concat_unique off; concat_types text/css application/javascript; }
Merge method
http://static.52itstyle.com/static/css/??index.css,common.css?v=20171111
위 내용은 Nginx가 요청 연결을 병합하고 웹사이트 액세스를 가속화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!