Tempah Konsultasi Hantar Tiket

Penalaan Prestasi Middleware Gerbang API Nginx

Panduan praktikal untuk mendiagnosis dan menyelesaikan kesesakan prestasi gerbang API Nginx, termasuk pelarasan konfigurasi, kawalan risiko, dan prosedur undur untuk pasukan SRE.

Penalaan Prestasi Middleware Gerbang API Nginx
Performance 6min 9 paparan 2026-06-13
NginxGerbang APIPenalaan PrestasiSRE

Senario

Sebuah platform e-dagang menggunakan Nginx sebagai gerbang API. Semasa jualan kilat, lonjakan trafik menyebabkan kependaman tinggi dan tamat masa.

Gejala

  • Pelanggan melihat kependaman tinggi (>5s)
  • Log ralat Nginx menunjukkan 'upstream timed out'
  • Beban sistem tinggi tetapi CPU tidak maksima

Diagnosis

  1. Periksa status Nginx: curl http://localhost/nginx_status - lihat sambungan Aktif atau baris gilir Menunggu.
  2. Analisis log akses: tail -f /var/log/nginx/access.log untuk mengenal pasti permintaan perlahan.
  3. Jejak panggilan sistem: strace -p <pid_nginx> menunjukkan epoll_wait berlebihan.
  4. Sahkan huluan: time curl -XGET http://upstream/health untuk memastikan backend responsif.

Perintah

Laraskan Bilangan Proses Pekerja

worker_processes auto;

Optimumkan Model Acara

events {
    worker_connections 10240;
    use epoll;
    multi_accept on;
}

Tingkatkan Tamat Masa Proksi

location /api {
    proxy_connect_timeout 60s;
    proxy_send_timeout 60s;
    proxy_read_timeout 60s;
}

Dayakan Cache (pilihan)

proxy_cache_path /tmp/cache levels=1:2 keys_zone=api_cache:10m max_size=1g inactive=60m;

Kawalan Risiko

  • Sandarkan konfigurasi: cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
  • Sahkan dengan nginx -t sebelum muat semula
  • Pantau sambungan semasa muat semula: perhatikan nginx_status
  • Gunakan ujian kanari: gunakan perubahan pada subset pelayan huluan dahulu

Undur

Jika prestasi merosot atau ralat muncul:

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

Pengesahan

  • Periksa kependaman: tail -f /var/log/nginx/access.log | awk '{print $NF}' - sepatutnya menurun
  • Ujian beban: ab -n 10000 -c 100 http://localhost/api/test
  • Pastikan tiada tamat masa dalam ralat.log

Bila Hantar Tiket OpsGlobal

  • Prestasi tidak bertambah baik selepas pelarasan
  • Huluan sihat tetapi Nginx masih tamat masa
  • Perlu analisis lebih mendalam (contoh: penalaan kernel, modul tersuai)
  • Perancangan kapasiti atau semakan seni bina diperlukan

Senario Penggunaan

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

Latar Belakang Masalah

Panduan praktikal untuk mendiagnosis dan menyelesaikan kesesakan prestasi gerbang API Nginx, termasuk pelarasan konfigurasi, kawalan risiko, dan prosedur undur untuk pasukan SRE.

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