>운영 및 유지보수 >엔진스 >NGINX 성능 및 리소스 사용량을 어떻게 모니터링합니까?

NGINX 성능 및 리소스 사용량을 어떻게 모니터링합니까?

James Robert Taylor
James Robert Taylor원래의
2025-03-17 17:08:32130검색

NGINX 성능 및 리소스 사용량을 어떻게 모니터링합니까?

NGINX 성능 및 리소스 사용을 모니터링하는 것은 웹 서버의 건강과 효율성을 유지하는 데 필수적입니다. 포괄적 인 모니터링을 달성 할 수있는 방법은 다음과 같습니다.

  1. nginx 상태 페이지 :

    • Nginx는 현재 연결, 활성 연결 및 초당 요청에 대한 개요를 제공하는 내장 상태 페이지를 제공합니다. 이를 가능하게하려면 ngx_http_stub_status_module 포함하도록 nginx.conf 파일을 구성해야합니다. 당신이하는 방법은 다음과 같습니다.

       <code class="nginx">location /nginx_status { stub_status; access_log off; allow 127.0.0.1; # Only allow access from localhost deny all; # Deny access from anywhere else }</code>
    • 구성 후 http://yourserver/nginx_status 방문 하여이 상태에 액세스 할 수 있습니다.
  2. 시스템 수준 모니터링 :

    • top , htop 또는 mpstat 와 같은 시스템 모니터링 도구를 사용하여 전체 CPU 및 메모리 사용량을 확인하십시오. 이 도구는 Nginx가 시스템 리소스를 활용하는 방법에 대한 실시간 통찰력을 제공합니다.
    • 디스크 I/O의 경우 iostat 사용하여 읽기/쓰기 작업을 모니터링하는데, 특히 서버가 많은 정적 컨텐츠를 처리하는 경우 NGINX 성능에 영향을 줄 수 있습니다.
  3. 로그 분석 :

    • Nginx 액세스 및 오류 로그를 분석하면 성능 병목 현상을 식별하는 데 도움이됩니다. goaccess 와 같은 도구는 이러한 로그를 구문 분석하고 요청 수, 대역폭 및 방문한 URL과 같은 통계를 제시 할 수 있습니다.
  4. 타사 모니터링 도구 :

    • Prometheus 및 Grafana와 같은 도구는 Nginx 성능에 대한 자세한보기를 제공하는 대시 보드를 만드는 데 사용될 수 있습니다. 이 도구는 Nginx 상태 페이지 및 기타 메트릭을 긁어 내고 쉽게 이해할 수있는 형식으로 제시 할 수 있습니다.

Nginx 서버로드 및 응답 시간을 추적하는 데 어떤 도구를 사용할 수 있습니까?

Nginx 서버로드 및 응답 시간을 추적하기 위해 여러 도구를 사용할 수 있으며 각 도구는 다양한 기능과 세부 사항 수준을 제공합니다.

  1. nginx 상태 모듈 :

    • 앞에서 언급 했듯이이 내장 모듈은 활성 연결, 초당 요청 및 연결 상태와 같은 기본 부하 통계를 제공 할 수 있습니다.
  2. Prometheus와 Grafana :

    • Prometheus는 Nginx 상태 페이지 및 기타 소스에서 메트릭을 긁어 낼 수 있습니다. Grafana와 결합하면 강력한 시각화 및 경고 기능을 얻을 수 있습니다. 시간이 지남에 따라 응답 시간, 서버로드 및 기타 메트릭을 모니터링 할 수 있습니다.
  3. 새로운 유물 :

    • New Relic은 특정 NGINX 모니터링을 포함한 포괄적 인 모니터링 솔루션을 제공합니다. 응답 시간, 처리량 및 오류를 추적하여 Nginx 서버가 다른 부하에서 어떻게 수행되는지 이해하는 데 도움이됩니다.
  4. Datadog :

    • Datadog는 자세한 NGINX 메트릭을 제공하며 서버로드, 응답 시간 및 기타 주요 성능 표시기를 추적하는 데 도움이 될 수 있습니다. 또한 경고 및 과거 데이터 분석을 지원합니다.
  5. goaccess :

    • GoAccess는 NGINX 로그를 실시간으로 분석하여 서버로드 및 응답 시간에 대한 통찰력을 제공 할 수 있습니다. 가볍고 서버에서 직접 실행할 수 있습니다.

Nginx CPU 및 메모리 사용에 대한 실시간 모니터링을 설정하려면 어떻게해야합니까?

NGINX CPU에 대한 실시간 모니터링 및 메모리 사용량 설정은 다음 단계를 통해 수행 할 수 있습니다.

  1. 모니터링 에이전트 설치 :

    • Prometheus의 노드 수출기와 같은 에이전트를 설치하십시오. Node Expler는 Nginx 서버에서 실행되며 Prometheus가 긁을 수있는 CPU 및 메모리 사용에 대한 지표를 노출시킵니다.
  2. Prometheus 구성 :

    • Node Expler에서 메트릭을 긁어 내기 위해 Prometheus를 설정하십시오. prometheus.yml 구성 파일을 작성하고 노드 Expler에서 긁어내는 데 필요한 작업을 포함시켜야합니다.

       <code class="yaml">scrape_configs: - job_name: 'nginx' static_configs: - targets: ['localhost:9100'] # Assuming Node Exporter is running on port 9100</code>
  3. Grafana 설정 :

    • Grafana를 사용하여 Prometheus가 수집 한 데이터를 시각화하는 대시 보드를 만듭니다. Prometheus를 데이터 소스로 추가하고 사용자 정의 패널을 설계하여 Nginx 서버의 실시간 CPU 및 메모리 사용을 표시 할 수 있습니다.
  4. 실시간 경고 :

    • CPU 또는 메모리 사용이 사전 정의 된 임계 값을 초과 할 때 알림을 보내도록 Prometheus의 경고 규칙을 구성하십시오. 이러한 경고는 Slack 또는 PagerDuty와 같은 알림 서비스와 통합 될 수 있습니다.

모니터링 데이터를 기반으로 NGINX 성능을 최적화하기위한 모범 사례는 무엇입니까?

모니터링 데이터를 기반으로 NGINX 성능을 최적화하기위한 모범 사례는 다음과 같습니다.

  1. 작업자 프로세스 조정 :

    • 서버의 CPU 코어에 따라 작업자 프로세스 수를 조정하십시오. nginx.conf 에서 이것을 설정할 수 있습니다.

       <code class="nginx">worker_processes auto;</code>
    • CPU 사용을 모니터링하면 근로자 수를 늘리거나 줄여야하는지 확인하는 데 도움이 될 수 있습니다.
  2. 연결 처리 최적화 :

    • 활성 연결 수를 모니터링하고 그에 따라 worker_connections 조정하십시오. 이것은 더 많은 동시 연결을 효율적으로 처리하는 데 도움이 될 수 있습니다.

       <code class="nginx">events { worker_connections 1024; }</code>
  3. 캐싱 활성화 :

    • Nginx의 캐싱 기능을 사용하여 백엔드 서버의로드를 줄입니다. 응답 시간을 모니터링하면 캐싱이 가장 효과적인 위치를 결정하는 데 도움이 될 수 있습니다.
    • nginx.conf 에서 캐싱 구성 :

       <code class="nginx">proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;</code>
  4. GZIP 압축 :

    • GZIP 압축을 활성화하여 네트워크를 통해 전송 된 데이터 양을 줄입니다. 대역폭 및 응답 시간을 모니터링하여 이점을 확인하십시오.

       <code class="nginx">gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml rss text/javascript;</code>
  5. 로드 밸런싱 사용 :

    • 모니터링 데이터에 서버로드가 높은 경우 여러 서버에서로드 밸런싱을 구현하여 트래픽을 고르게 배포하십시오.
  6. 버퍼 크기를 모니터링하고 조정합니다.

    • 모니터링 데이터를 기반으로 proxy_buffer_sizeproxy_buffers 와 같은 버퍼 크기를 조정하여 대형 파일 전송 또는 트래픽 사이트의 성능을 최적화하십시오.

       <code class="nginx">proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k;</code>
  7. Nginx를 업데이트하십시오.

    • 성능 향상 및 보안 패치의 혜택을 위해 NGINX를 정기적으로 업데이트하십시오. 모니터링 로그는 업데이트 후 발생할 수있는 문제를 식별하는 데 도움이 될 수 있습니다.

이러한 모범 사례를 따르고 NGINX 서버를 지속적으로 모니터링하면 성능을 최적화하고 다양한로드 하에서 효율적으로 실행할 수 있습니다.

위 내용은 NGINX 성능 및 리소스 사용량을 어떻게 모니터링합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.