Tempah Konsultasi Hantar Tiket

Mengoptimumkan Nginx sebagai Gerbang API: Panduan Operasi Prestasi

Ketahui cara mendiagnosis dan menyelesaikan isu prestasi dalam gerbang API berasaskan Nginx, dengan langkah demi langkah arahan, kawalan risiko, dan kriteria eskalasi OpsGlobal.

Mengoptimumkan Nginx sebagai Gerbang API: Panduan Operasi Prestasi
Performance 6min 41 paparan 2026-07-22
NginxGerbang APIPrestasiSRE

Senario

Gerbang API berasaskan Nginx anda mengalami kependaman tinggi dan peningkatan kadar ralat semasa trafik puncak. Perkhidmatan hulu berfungsi dengan baik, tetapi gerbang menjadi hambatan.

Gejala

  • Peningkatan tamat masa klien (ralat 502/504)
  • Kependaman respons melonjak dari 50ms ke 2s
  • Log ralat Nginx menunjukkan 'upstream timed out' atau 'connection refused'
  • Metrik sistem menunjukkan penggunaan CPU atau memori tidak normal

Diagnosis

  1. Periksa proses pekerja Nginx: ps aux | grep nginx. Pastikan bilangan pekerja sama dengan bilangan teras CPU.
  2. Periksa log ralat: tail -f /var/log/nginx/error.log. Cari tamat masa atau ralat sambungan.
  3. Analisis log akses: tail -100 /var/log/nginx/access.log | awk '{print $NF}' | sort | uniq -c | sort -rn. Periksa taburan kod status.
  4. Sahkan sintaks konfigurasi: nginx -t.
  5. Pantau sumber sistem: top, free -m, iostat -x 1.

Arahan (Tindakan Utama)

# Optimumkan keepalive hulu
http {
    upstream backend {
        server backend1.example.com:8080;
        keepalive 32;          # Sambungan kekal
    }
}

# Laraskan proses pekerja dan sambungan
worker_processes auto;
events {
    worker_connections 1024;
    multi_accept on;
}

# Tingkatkan tamat masa
proxy_connect_timeout 5s;
proxy_send_timeout 10s;
proxy_read_timeout 10s;

Kawalan Risiko

  • Uji perubahan konfigurasi di luar pengeluaran
  • Sahkan sintaks dengan nginx -t
  • Gunakan perubahan secara berperingkat (misalnya, ubah satu pelayan hulu dahulu)
  • Pantau kadar ralat dan sediakan rollback

Rollback

# Pulihkan konfigurasi asal dan muat semula
cp /etc/nginx/nginx.conf.backup /etc/nginx/nginx.conf
nginx -s reload

Pengesahan

  • Periksa kependaman: curl -w "%{time_total}" -o /dev/null -s https://api.example.com/health
  • Sahkan kadar ralat menurun: tail -100 /var/log/nginx/access.log | grep -c ' 50[0-9] '
  • Penggunaan sumber kembali normal

Bila Serahkan Tiket OpsGlobal

  • Prestasi tidak pulih selepas mengikuti langkah di atas
  • Perlu pelarasan parameter kernel (contohnya, somaxconn, tcp_tw_reuse)
  • Mitigasi DDoS atau konfigurasi WAF diperlukan
  • Perubahan seni bina diperlukan (contohnya, menambah lapisan cache)

Senario Penggunaan

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

Latar Belakang Masalah

Ketahui cara mendiagnosis dan menyelesaikan isu prestasi dalam gerbang API berasaskan Nginx, dengan langkah demi langkah arahan, kawalan risiko, dan kriteria eskalasi OpsGlobal.

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