Skip to content

WCFV

Analytics Blog

Menu
Menu

바니시 캐시를 구성하고 애플리케이션 로드 시간을 10 배 더 빠르게 단축

Posted on 3월 2, 2022 by admin
바니시 캐시

애플리케이션의 크기와 복잡성에 관계없이 사용자는 애플리케이션의 동적 콘텐츠가 렌더링되는 속도를 즐긴다면 계속 머물거나 계속 돌아오는 것을 선호합니다. 향상된 성능,빠른 페이지 배달 및 빠른 서버 응답은 또한 응용 프로그램에 푹 사용자를 유지하는 몇 가지 요인 중 일부입니다.

이들과 더 많은 성공적이고 인기있는 웹 응용 프로그램에 대한 기여 요인이다. 최신 웹 응용 프로그램의 속도를 높이는 데 도움이되는 몇 가지 기술과 전략이 있지만 캐싱을 수행하는 것이 훨씬 더 가치가 있음이 입증되었습니다.

웹 사이트의 특정 페이지에 대한 모든 요청은 서버에서 직접 통신하고 응답을 얻는 것입니다. 따라서 사용자가 특정 페이지를 방문 할 때마다 프런트 엔드가 적절한 내용을 가져 오기 위해 호출하고 서버는 그에 따라 응답해야합니다.

소규모 웹 응용 프로그램의 경우 너무 많지는 않지만 응용 프로그램이 확장되기 시작하면 웹 서버에 대한 수많은 요청이 점차 처리하기에는 너무 많아지기 시작합니다. 이것은 종종 불필요한 과부하로 간주됩니다.

웹 페이지를 제공하는 것은 많은 리소스를 차지합니다. 따라서,이 니스 캐시 튜토리얼에서,나는 반드시 수직 또는 수평으로 스케일링하지만 니스를 사용하지 않고 응용 프로그램의 속도를 증가하는 방법을 보여줍니다.

바니시 캐시란 무엇이며 이를 사용하는 이유

바니시 캐시는 웹 응용 프로그램 가속기라고도 합니다. 그것은 당신의 클라이언트(즉,사용자)와 웹 서버 사이의 중간 사람처럼 행동합니다. 즉,웹 서버가 직접 모든 시간을 특정 내용의 요청을 청취하는 대신,니스 책임을 가정합니다 의미합니다.

요청이 처음으로 들어오면 적절한 응답을 위해 웹 서버로 보냅니다. 이 응답은 클라이언트로 전송되기 전에 바니시에 의해 캐시됩니다. 흥미롭게도 이러한 콘텐츠에 대한 후속 요청은 웹 서버로 바로 이동하는 대신 바니시 캐시에서 직접 제공됩니다. 이를 통해 웹 응용 프로그램은 서버가 시작되지 않으므로 여러 사용자의 수많은 동시 요청을 관리 할 수 있습니다. 이렇게 하면 응용 프로그램의 성능이 엄청나게 향상됩니다.

요청 조작에 논리를 추가하여 동작을 수정할 수 있도록 합니다. 당신은 웹 서버에서 돌아 오는 응답을 조작 쿠키를 제거하거나 응답에 헤더를 추가 할 수 있습니다.

바니시 워크플로우

일부 웹 페이지(클라이언트)를 가져옵니다.

바니시 캐시 워크플로

니스 캐시 워크 플로우

의 페이지에 대한 첫 번째 요청이 약 200 밀리 초 소요 가정 해 봅시다.

이제 이러한 페이지의 내용을 완전히 캐싱하면 흐름이 완전히 변경되고 클라이언트에서 동일한 페이지로의 요청이 서버에 다시 직접 충돌하지 않습니다. 아래 그림을보십시오:

가져 오기/일부-웹 페이지(클라이언트)- 캐시(히트). ->다시 클라이언트

페이지 10 에 대한 후속 요청…..

멋진 권리?

따라서 백엔드 서버로 전송되는 요청 수를 최대한 줄이는 것이 좋습니다. 그러면 웹 응용 프로그램의 페이지 렌더링 속도가 증가합니다.

바니시 구성 시작하기

이제 바니시와 캐싱 기능의 기본 도입을 진행하면서 이제 바니시를 구성하여 응용 프로그램에 사용할 차례입니다. 바니시를 시작하는 것은 쉽습니다. 이를 위해 기허브에서 기존 응용프로그램을 사용하고 이를 디지털오션 서버에 배포합니다. 그 후,우리는 바니시를 구성 할 것입니다.

다음,디지털 오션에 무료 계정을 설정하고,한 번 그 완료,”만들기”버튼을 클릭하고 드롭 다운에서,새로운 방울을 만들”방울”을 선택합니다.

아래로 스크롤하여 우분투 16.04 를 선택하고 물방울의 크기를 선택해야합니다.이 니스 캐시 자습서에는 가장 작은 크기로 충분합니다.

아래로 스크롤하여 키를 추가합니다. 이것은 당신이 쉽게 나중에 서버에 로그인하는 데 도움이 될 것입니다,그렇지 않으면 당신은 당신의 물방울에 대한 기본 암호받은 편지함을 확인해야합니다. 그런 다음 호스트 이름을 추가하십시오. 나는 내 광택 데모를 지명했다. 이제 클릭 만들기 물방울 만들기를 시작합니다.

프로세스가 완료되면 물방울 목록에 새 물방울이 표시됩니다. 당신의 안드로이드 장치에 대한 새로운 게임을 발견하는 큰 물고기 게임 앱 받기!

핵심 웹 바이탈 업데이트를위한 준비

당신이 트래픽을 잃고 시작하기 전에 귀하의 웹 사이트 속도를 전자 책.

감사합니다

귀하의 목록은받은 편지함에 그것의 방법에 있습니다.이제 패키지 목록을 업데이트하고 설치할 수 있습니다. 다음 명령을 실행하여 이를 수행합니다:

sudo apt updatesudo apt install -y nginx
  • 참고:-플래그는 설치 중에 묻는 질문에 대한 기본 답변으로 응답하는 것입니다

우분투 16.04 에.:

http://server_domain_or_ip

나는 우분투 16.04 와 함께 사전 설치되어 있습니다. 서버에 이미 설치되어 있는지 여부를 확인하려면 아래 명령을 사용하십시오:

git -v

기본적으로 설치되지 않는다는 메시지가 표시되면 다음 명령을 실행하여 설치해야 합니다:

apt install -y git

그러면 공용 디렉터리로 이동합니다:

cd/var/www

제거 html 폴더에 다시 만들고 그것으로 이동:

rm -rf htmlmkdir htmlcd html

지금,복제 저장소

// Install projectgit clone https://github.com/yemiwebby/varnish-demo.git

으로 이 장소에서,당신은 지금 샘플 프로젝트의 서버에 설치되어 있습니다. 하지만 지금은 액세스할 수 없습니다. 해봅시다.다른 웹 서버와 마찬가지로 기본 웹 프로세싱이 포함되어 있지 않습니다. 우리는 이 소프트웨어를 설치할 것입니다. 웹 서버의 루트 디렉터리로 돌아가서 다음 명령을 실행하여 모듈을 설치합니다:

$ cd ~$ sudo apt install php-fpm

설치 프로세스가 완료되면 이제 설치된 프로세서를 사용하도록 구성할 수 있습니다. 기본 서버 블록 구성 파일을 엽니다.:

sudo nano /etc/nginx/sites-available/default

그리고 그 내용을 다음과 같이 바꿉니다:

server { listen 80 default_server; listen :80 default_server; root /var/www/html; index index.php; server_name YOUR_SERVER_IP; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; }}

작업이 완료되면 다시 로드하여 필요한 사항을 변경합니다:

$ sudo systemctl reload nginx

지금,당신은 당신의 물방울의 아이피 주소를 사용하여 즐겨 찾는 웹 서버의 페이지를 방문 할 수 있습니다:

http://ip_address

페이지를 검사하여 네트워크 탭에서 헤더를 볼 경우,요청을 처리하도록 설치 또는 구성되지 않았으므로 광택의 흔적을 확인할 수 없습니다. 의 우리의 웹 서버에 광택을 설치하여 그 변경하자. 이렇게 하려면 다음 명령을 입력합니다:

$ sudo apt install -y varnish

이 서버에 니스 캐시를 설치하는 과정을 통해 이동합니다. 설치를 완료 한 후 바니시를 시작하고 활성화하십시오:

systemctl start varnishsystemctl enable varnish

기본적으로 바니시는 포트 6081 에서 수신 대기합니다. 하지만 이번에는 아래와 같이 다음을 추가해야 합니다:6081:

웹 응용 프로그램의 내용을 로드하는 웹 서버가 포트 80 에서 실행됩니다. 바니시가 페이지를 최대한 빨리 캐싱하고 렌더링하는 책임을 지려면 웹 앱 클라이언트와 서버 사이에 있어야 합니다. 이것은 주로 포트 80 에있을 것입니다 서버에 대한 요청이 니스에 의해 차단 될 수 있도록하고,이 캐시 히트 또는 미스 여부에 따라,니스는 그에 따라 행동하고 적절한 응답을 반환합니다.

포트 80 에 바니시와 포트 8080 에 니스를 구성하여 프로세스를 변경합니다. 이렇게 하려면 사이트의 구성 파일을 다시 편집합니다. 이 파일은 기본적으로 사용 가능합니다. 80 으로 변경 8080:

server { listen 8080 default_server; listen :8080 default_server; root /var/www/html;}

포트 80 은 이제 바니시에 무료로 사용할 수 있습니다. 다음과 같이 구성을 다시 로드합니다:

이전에 바니시가 설치되었을 때 서버에 두 개의 구성 파일도 생성되었습니다. 그들은:

  • /등/과태/와니스
  • /등/와니스/과태.이 파일을 바니시 용 포트 열기 및 요청 조작과 같은 구성에 사용합니다. 이제이 파일/기타/기본/바니시를 엽니 다:
    sudo nano /etc/default/varnish

    # 포트 6081 에서 수신 대기,로컬 호스트에서 관리:6082,그리고

    #요청에 따라,가상 디스크 파일에 의해 선택된 하나의 콘텐츠 서버로 전달합니다.

    :6081 \

    -로컬 호스트:6082 \

    -에프/기타/광택/기본.2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년

    다음으로 파일/기타/광택/기본값을 엽니 다.2015 년:

    sudo nano /etc/varnish/default.vcl

    그리고 기본 백엔드가 포트 8080 으로 설정되어 있는지 확인하십시오. 아래 라인을 찾아 확인.포트는 8080 입니다.

    #기본 백엔드 정의. 콘텐츠 서버를 가리키도록 설정합니다.

     backend default { .host = "127.0.0.1"; .port = "8080"; }

    다음 것은 바니시를 복사하는 것입니다.우리의 시스템 디렉토리에 서비스 파일. 이를 통해 포트 80 에서 바니시를 시작할 수 있습니다. 아래 명령을 실행하십시오:

    $ sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/

    이 니스 서비스 파일을 복사합니다.

    다음,그것을 여십시오:

    $ sudo nano /etc/systemd/system/varnish.service

    그리고 실행 시작 줄을 찾으십시오:

    Description=Varnish HTTP acceleratorDocumentation=https://www.varnish-cache.org/docs/4.1/ man:varnishdType=simpleLimitNOFILE=131072LimitMEMLOCK=82000ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.v$ExecReload=/usr/share/varnish/reload-vclProtectSystem=fullProtectHome=truePrivateTmp=truePrivateDevices=trueWantedBy=multi-user.target//ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

    이제 변경-에프-에이:6081 에-에프-에이:80. 파일을 저장하고 종료하십시오.

    :

    :~# netstat -plntu

    Active Internet connections (only servers)

    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

    tcp 0 0 0.0.0.0:6081 0.0.0.0:* LISTEN 13257/varnishd

    tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 13257/varnishd

    tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2440/nginx -g daemo

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1648/sshd

    tcp6 0 0 :::6081 :::* LISTEN 13257/varnishd

    tcp6 0 0 :::8080 :::* LISTEN 2440/nginx -g daemo

    tcp6 0 0 :::22 ::: 니스 캐시가 포트 6081 에서 계속 실행되고 있음을 알 수 있습니다. 광택을 다시 시작하여 그 변경:

    systemctl daemon-reloadsystemctl restart varnish

    또한 다시 시작하십시오.

    sudo service nginx restart

    이 시점에서 웹 페이지의 주소를 방문하면 웹 사이트가 여전히 완벽하게 작동한다는 것을 알 수 있지만 웹 헤더를 검사하면 바니시가 설치되고 실행 중임을 나타냅니다.

    : 내부

바니시의 개요는 웹 응용 프로그램의 캐싱 콘텐츠 처리를 완료하는 동안 몇 가지 루틴을 트리거합니다. 의 가장 중요한 루틴의 일부를 살펴 보자,각 하나는 내용이 차례로 웹 응용 프로그램의 성능을 향상시킬 빛의 속도로 전달되도록하기 위해 무엇을:

  • 이것은 당신의 클라이언트가 요청을 수락하는 순간 칠 것이다 니스 첫 번째 라인입니다. 이 콜백은 응답 후 호출되고 백엔드 서버에서 검색되었습니다. 이 블록에서 응답을 수정할 수도 있습니다. 이 루틴은 클라이언트에게 응답을 보내기 전에 가상 컴퓨터가 적중하는 마지막 루틴입니다. 여기에서,당신은 쉽게 당신이 그렇게에 클라이언트를보고 싶지 않아 어떤 제거와 같은 몇 가지 정리를 할 수 있습니다.

큐:니스 캐시를 지우는 방법?

: 금지 명령을 사용하여 명령 줄에서 모든 바니시 캐시를 제거 할 수 있습니다.이메일 또한 호스트 이름을 설명하여 특정 캐시를 금지 할 수 있습니다.호스트==xxx.com”

큐:니스 캐시를 해제하는 방법?

에이:당신은 쉽게 편집하여 웹 사이트에서 광택을 해제 할 수 있습니다.헤더 추가”캐시 제어””캐시 없음”
이렇게하면 웹 사이트에서 바니시가 일시적으로 비활성화됩니다. 나중에 다음 코드를 제거하여 바니시를 활성화 할 수 있습니다.

큐: 바니시 캐시를 제거하는 방법?

답변:단순히 바니시 서비스를 다시 시작하여 바니시 캐시를 지우거나 제거할 수 있습니다. 이 기본적으로 메모리에 저장되어 있기 때문에 모든 니스 캐시를 제거합니다:
/등/니스 다시 시작
또는
서비스 니스 다시 시작

질문:니스 캐시가 작동하는지 여부를 확인하는 방법?이 헤더를 사용하면 서비스의 활성/비활성 상태를 알 수 있습니다. 캐시 헤더를 사용하여 캐시에 대한 완전한 분석을 얻을 수 있습니다.

질문:광택 캐시 대 멤 캐시:어느 것이 더 낫습니까?

에이:두 바니시&멤캐시는 특히 캐싱 도메인에서 유용하지만 둘 사이에는 약간의 차이가 있습니다.
응용 프로그램 자산 캐싱을 위해 메모리 내 분산 백엔드로 멤캐시를 사용할 수 있습니다.
바니시는 응용 프로그램의 요청을 외부 캐시하기 위해 역방향 프록시로 사용됩니다.
멤캐시는 데이터베이스로부터 결과를 캐싱하고 가져오기 방법을 거의 변경하지 않아도 되기 때문에 범용 캐싱 시스템이라고 할 수 있다.
반면,바니시는 웹 서버 뒤에서 작동하며 웹 페이지를 캐시하며 코드를 변경할 필요가 없습니다.

최종 단어

이 게시물에서,나는 당신이 니스로 할 수있는 일의 표면을 거의 긁지 않았습니다. 그것은 당신이 그것으로 훨씬 더 많은 일을 할 수 있도록 강력합니다. 웹 응용 프로그램의 콘텐츠를 캐시하고 요청을 처리 할 수있는 것 외에도 바니시 캐시를 부하 분산 장치 등으로 사용할 수도 있습니다.

공식 문서를 확인 여기에 광택과 그것을 사용하여 수행 할 수있는 다른 멋진 구성에 대한 자세한 내용은. 아래의 코멘트 섹션에 코멘트,질문 또는 제안을 남겨 주시기 바랍니다.

코멘트 섹션에서 의견을 공유하십시오. 지금 댓글 달기

이 기사 공유하기

고객 검토

“클라우드 웨이는 최고의 고객 서비스 및 호스팅 속도 중 하나를 가지고 호스팅”

산짓 씨

올루수시 케이 올루예미

기술 애호가,프로그래밍 괴물,새로운 기술을 포용하는 것을 좋아하는 웹 개발 중독자.

에 연결하기:트위터 커뮤니티 포럼

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • 비금속 금과 페인팅 인내
  • 금형없이 케이크 팝을 만드는 쉬운 방법
  • 오일 팜 재배(팜 오일)가이드
  • 아이팟 나노 암호를 잊으 셨나요
  • 신경성 식욕 부진으로 생활
  • 구글 스케치 업 프로 2022 균열 21.0.339
  • 과도한 오토바이 엔진 진동–원인과 해결책
  • 디아 드 로스 무에르 토스 마스크
  • 페요테 베젤 만들기
  • 먼지 자전거 거리 법률 콜로라도를 만드는 방법
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

보관함

  • 2022년 3월
  • 2022년 2월
  • 2022년 1월
  • 2021년 12월
  • 2021년 11월
  • 2021년 10월
  • 2021년 9월

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org
© 2022 WCFV | Powered by Superbs Personal Blog theme