Tempah Konsultasi Hantar Tiket

Panduan Praktikal Penalaan Prestasi Gerbang API Nginx

Senario sebenar menunjukkan cara mendiagnosis dan menyelesaikan kependaman tinggi dalam gerbang API berasaskan Nginx, dengan arahan, kawalan risiko, dan langkah balik.

Panduan Praktikal Penalaan Prestasi Gerbang API Nginx
Performance 6min 32 paparan 2026-07-24
NginxGerbang APIPenalaan PrestasiSRE

Senario

Sebuah platform e-dagang menggunakan Nginx sebagai gerbang API. Pengguna melaporkan respons API perlahan; kependaman p99 meningkat daripada 200ms kepada 2s.

Gejala

  • Peningkatan ralat 502/504 daripada huluan
  • Log ralat Nginx: "upstream timed out"
  • Sambungan aktif hampir had worker_connections

Diagnosis

  1. Periksa log ralat Nginx: tail -f /var/log/nginx/error.log
  2. Log masa respons huluan: tambah $upstream_response_time ke format log akses
  3. Pantau kolam sambungan: curl -s http://localhost/nginx_status | grep Active
  4. Analisis tetapan penimbal: proxy_buffering lalai boleh menyebabkan sekatan baris depan

Arahan

Laraskan worker_connections (dalam /etc/nginx/nginx.conf):

events {
    worker_connections 4096;
    multi_accept on;
}

Dayakan dan laraskan penimbal (dalam /etc/nginx/conf.d/api_gateway.conf):

location /api/ {
    proxy_pass http://upstream;
    proxy_buffering on;
    proxy_buffer_size 8k;
    proxy_buffers 8 32k;
    proxy_busy_buffers_size 64k;
    proxy_read_timeout 60s;
    proxy_send_timeout 60s;
    # Dayakan keepalive huluan
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    keepalive_requests 1000;
    keepalive_timeout 120s;
}

Sahkan sintaks: nginx -t; muat semula: systemctl reload nginx

Kawalan Risiko

  • Uji pada contoh canary dahulu
  • Pantau CPU, memori, dan bilangan sambungan
  • Pastikan perkhidmatan huluan mampu mengendalikan penggunaan semula sambungan yang meningkat

Balik Semula

Simpan sandaran konfigurasi asal sebagai .bak, ganti dan muat semula:

cp /etc/nginx/conf.d/api_gateway.conf.bak /etc/nginx/conf.d/api_gateway.conf
nginx -s reload

Pengesahan

  • Pantau pengurangan kependaman p99 melalui Prometheus/Grafana
  • Periksa log ralat untuk lebih sedikit tamat masa
  • Ujian beban: ab -n 10000 -c 100 http://gateway/api/test

Bila Hantar Tiket OpsGlobal

Jika kependaman masih berterusan selepas penalaan, atau punca utama adalah perlambatan aplikasi huluan, pertanyaan pangkalan data, atau isu DNS, hantar tiket untuk analisis mendalam pasukan SRE OpsGlobal.

Senario Penggunaan

Sesuai untuk pasukan yang menyelesaikan isu Performance dan memerlukan aliran kerja yang jelas.

Latar Belakang Masalah

Senario sebenar menunjukkan cara mendiagnosis dan menyelesaikan kependaman tinggi dalam gerbang API berasaskan Nginx, dengan arahan, kawalan risiko, dan langkah balik.

Langkah Penyelesaian

Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.

Contoh Arahan

Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.

Risiko

Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.

Pelan Rollback

Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.

Senarai Serahan

Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.

!

Perlu bantuan isu teknikal serupa?

Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.

Tiket Hubungi WhatsApp Konsultasi