> 웹 프론트엔드 > JS 튜토리얼 > 5 Node.js Express의 쉬운 성능 조정

5 Node.js Express의 쉬운 성능 조정

Christopher Nolan
풀어 주다: 2025-02-19 09:06:11
원래의
575명이 탐색했습니다.

5 Easy Performance Tweaks for Node.js Express 키 포인트

생산 모드로 전환하면 생산 모드가 개발 모드에서 로깅 및 예외 스택 추적 작업을 제거하기 때문에 익스프레스 응용 프로그램 성능을 크게 향상시킬 수 있습니다. Express 4.x에서 GZIP 압축 활성화는 HTTP 부하를 줄이고 성능을 향상시킬 수 있습니다. 압축 모듈을 설치하고 첫 번째 미들웨어 기능으로 사용하여 수행 할 수 있습니다.

더 간단한 템플릿 엔진 사용을 고려하고 불필요한 미들웨어를 제거하고 일반적인 변수를 효과적으로 캐싱하면 Express Applications의 성능을 더욱 최적화 할 수 있습니다. Gulp와 같은 빌드 도구는 HTML 템플릿, CSS 및 JavaScript 파일을 압축하고 병합 할 수 있으며 메모리 관련 성능 문제를 피하기 위해 세션 변수를 제한해야합니다.
  • 생산 모드로 전환
  • Express는 여러 모드로 실행할 수 있습니다. 기본적으로 예외 스택 추적 및 기타 로깅 작업을 제공하는 개발 모드라고 가정합니다. 예를 들어 메시지를 콘솔에 로그인하는 디버그 모드도 있습니다.
  • 라이브 서버에서는 프로덕션 모드로 전환하여 성능을 크게 향상시킬 수 있습니다. 이것은 node_env 환경을 생산으로 설정하여 수행 할 수 있습니다. Express 응용 프로그램을 시작하기 전에 Windows의 현재 세션에서 설정할 수 있습니다.
또는 Mac/Linux :

Linux 사용자는 시작시 라인에서 Node_env를 설정할 수도 있습니다.

이상적으로는 또는 해당 시작 스크립트에 추가하여 환경을 구성해야합니다.
  • anable gzip Express 4.x는 미들웨어로 향상시킬 수있는 최소한의 사용 가능한 기능을 제공합니다. 덜 누락 된 기능은 GZIP 압축으로 인해 HTTP로드가 줄어들어 브라우저가 수신 할 때 스케일을 확장 할 수 있습니다. GZIP를 추가하려면 NPM을 사용하여 압축 모듈을 설치하십시오.
  • (설정에 따라 Mac/Linux에서 Sudo를 사용해야 할 수도 있습니다.이 문제를 해결하는 방법에는 여러 가지가 있습니다.) 기본 응용 프로그램 시작 파일에는 압축 모듈을 포함시킵니다. 그런 다음 첫 번째 미들웨어 함수로 설치합니다 (다른 Express. 사용 메소드 이전) :
    <code>DEBUG=express:* node ./app.js</code>
    로그인 후 복사
    1. 불필요한 미들웨어를 삭제하십시오 Express Generator 또는 유사한 절차를 사용하여 사전 제작 된 응용 프로그램을 생성 한 경우 사용하지 않은 미들웨어 모듈을 삭제하십시오. 예를 들어, 쿠키를 사용하지 않으면 쿠키 파서 모듈을 삭제하거나 Req.Cookies 및 Res.Cookies를 사용하여 더 간단한 대안을 구현할 수 있습니다. 생산 모드에서 디버그 출력과 같은 일부 프로세스를 삭제할 수 있습니다. 다시 말해서, 서빙을 유지하는 것이 가장 좋습니다. 브라우저는 종종 favicon.ico 파일을 요청하고 모듈은 캐싱을 개선 할 수 있습니다.
    더 간단한 템플릿 엔진

    사용을 고려하십시오

    Jade는 많은 Express 설치를위한 기본 템플릿 엔진이며 좋은 선택입니다. 그러나 자신의 HTML을 기꺼이 작성하고 기본 보간 및 평가 만 필요하다면 Express-DOT 엔진 모듈을 사용하여 Express 미들웨어로 추가 할 수있는 DOT와 같은 경량 대안을 사용하는 것을 고려하십시오. 또는 다음과 같은 간단한 응답을 위해 템플릿 엔진을 우회 할 수 있습니다.
    <code>set NODE_ENV=production</code>
    로그인 후 복사
    사용중인 템플릿 엔진에 관계없이 항상 캐싱 뷰 캐싱 뷰가 활성화되어 있는지 확인하십시오.

      캐시를 기억하십시오!
    1. 대부분의 서버 기반 응용 프로그램과 달리 Node.js 응용 프로그램은 영구적으로 실행됩니다. 따라서 데이터베이스 연결 객체와 같은 일반적인 변수를 한 번 설정하고 각 사용자에 대한 각 요청 중에 재사용 할 수 있습니다. 이 개념은 필요에 따라 확장 될 수 있습니다. 일반적으로 캐시 할 수있는 일반적인 항목이 많을수록 성능이 향상됩니다. 예를 들어, Express 기반 CMS 애플리케이션이 홈페이지의 마지막 5 개의 게시물에 대한 링크를 보여줍니다. 목록은 변수로 생성 및 저장 될 수 있으며 새 기사가 게시 될 때만 업데이트됩니다. 추가 팁
    더 원하십니까? …

    nginx를 사용하여 정적 컨텐츠를 제공하고 node.js 및 express의 부하를 줄입니다.

    Gulp와 같은 빌드 도구를 사용하여 HTML 템플릿, CSS 및 JavaScript 파일을 압축하고 병합하십시오.
    <code>export NODE_ENV=production</code>
    로그인 후 복사
    세션 변수의 사용을 제한합니다. 사용자 세션 데이터는 일반적으로 메모리에 저장되므로 사용량이 증가함에 따라 성능 문제가 발생할 수 있습니다. ID 만 사용한 다음 요청 중에 데이터베이스에서 사용자 정보를 얻는 것을 고려하십시오.

    HTTP 소켓의 최대 수를 5 개로 5 개로 증가합니다.

    <code>NODE_ENV=production node ./app.js</code>
    로그인 후 복사
      가능하면 순차적으로 대신 작업 시퀀스를 호출하십시오.
    1. 응용 프로그램 초기화를 제외한 모든 것에 동기식 차단 호출을 사용하지 마십시오. 항상 한 사용자 블록 코드가 서로 사용자에 대해 코드가 실행됩니다.
    2. Node.js 또는 Express에 대한 다른 성능 팁이 있습니까? 나는 그 의견에서 그들을 듣고 싶다.

    (node.js의 FAQ에 대한 장은 여기에 추가되어야합니다. 여기에 입력 텍스트에 제공된 것과 동일한 내용)

    위 내용은 5 Node.js Express의 쉬운 성능 조정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    저자별 최신 기사
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿