NGINX Config Rewind: Serverion Menghidupkan Kembali Seni Penyetelan Cache Proxy yang Hilang
Ingin situs web yang lebih cepat dan beban server yang lebih rendah? NGINX proxy caching adalah solusinya. Dengan menyimpan konten yang sering diminta, pengiriman akan lebih cepat dan mengurangi beban pada server asal Anda. Serverion berbagi kiat praktis untuk mengoptimalkan pengaturan cache Anda demi kinerja dan keandalan yang lebih baik.
Poin-poin Utama:
- Sajikan konten yang basi: Gunakan respons yang di-cache selama server tidak aktif dengan
proxy_cache_penggunaan_masa_basi. - Pembaruan latar belakang: Segarkan entri cache tanpa mengganggu pengguna yang menggunakan
pembaruan_latar_belakang_cache_proxy. - Mencegah kelebihan beban: Hindari membanjiri server asal Anda dengan
kunci_cache_proxy.
Contoh Pengaturan:
proxy_cache_path /var/cache/nginx level=1:2 keys_zone=my_cache:10m max_size=10g tidak aktif=60m use_temp_path=mati; proxy_cache my_cache; proxy_cache_use_stale memperbarui; proxy_cache_background_update aktif; proxy_cache_lock aktif; Pengaturan ini memastikan respons yang cepat, penggunaan sumber daya yang efisien, dan pengiriman konten yang andal. Baik Anda menjalankan VPS kecil atau server dengan lalu lintas tinggi, teknik ini dapat membantu Anda mendapatkan hasil maksimal dari caching proxy NGINX.
NGINX: Caching Konten dengan Proxy Terbalik (Sangat CEPAT …

Dasar-Dasar Cache Proxy NGINX
Teknik penyetelan cache Serverion bergantung pada prinsip inti caching proxy NGINX, yang melibatkan penyimpanan dan penyajian salinan konten asal. Sistem ini menggunakan tiga komponen utama: jalur cache, zona memori bersama, dan pengelola cache yang menghapus file kedaluwarsa atau paling tidak digunakan (LRU) saat cache mencapai batasnya.
Operasi Cache Proksi NGINX
Saat NGINX memproses permintaan, NGINX terlebih dahulu memeriksa zona memori bersama untuk melihat apakah konten yang diminta sudah di-cache. Pencarian dalam memori ini memungkinkan penentuan cepat cache yang berhasil atau gagal. Sebagai referensi, zona kunci 1 MB dapat menyimpan sekitar 8.000 kunci cache[1].
Berikut ini cara kerja proses caching:
- NGINX melakukan hash pada permintaan untuk membuat kunci cache yang unik.
- Ia memeriksa zona memori bersama untuk kunci tersebut.
- Jika kuncinya ditemukan (cache hit), konten disajikan langsung dari cache.
- Jika kunci tidak ditemukan (cache hilang), konten diambil dari server asal dan disimpan dalam cache untuk penggunaan di masa mendatang.
Serverion mengoptimalkan kinerja dengan memastikan pencarian kunci yang efisien dan mengatur penyimpanan cache menggunakan hierarki direktori.
Elemen Inti Cache
| Direktif | Tujuan | Dampak |
|---|---|---|
jalur_cache_proxy | Menentukan lokasi penyimpanan cache | Menentukan di mana dan bagaimana konten di-cache |
proxy_cache | Mengaktifkan caching untuk permintaan tertentu | Mengaktifkan caching dalam blok lokasi |
zona_kunci | Mengalokasikan memori bersama untuk kunci cache | Memungkinkan pencarian cepat dalam memori |
tidak aktif | Menentukan berapa lama item yang tidak digunakan tetap berada di cache | Mengontrol kesegaran cache dan waktu pengusiran |
Untuk memaksimalkan kinerja, gunakan dua tingkat tingkatan hierarki untuk mencegah perlambatan sistem berkas. Selain itu, atur gunakan_temp_path=off untuk menulis file yang di-cache langsung ke lokasi akhirnya, sehingga mengurangi overhead I/O.
NGINX menghormati arahan cache dari server asal. Ia hanya menyimpan respons yang menyertakan Kedaluwarsa header dengan tanggal masa depan atau Kontrol Cache header dengan usia maksimal nilai lebih besar dari nol.
Anda sekarang dapat menerapkan prinsip-prinsip ini dalam pengaturan cache proxy NGINX Anda.
[1] Dokumentasi NGINX: Zona kunci 1 MB menyimpan data untuk sekitar 8.000 kunci.
Panduan Pengaturan Cache Proxy NGINX
Pelajari cara mengonfigurasi dan mengoptimalkan caching proxy NGINX langkah demi langkah.
Pengaturan Parameter Cache
Dasar pengaturan cache proxy NGINX adalah jalur_cache_proxy direktif. Berikut contoh konfigurasinya:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g tidak aktif=60m use_temp_path=off; Konfigurasi ini menciptakan struktur direktori dua tingkat, mengalokasikan 10 MB untuk zona_kunci (cukup untuk sekitar 80.000 kunci), menetapkan ukuran cache maksimum 10 GB, dan menentukan batas waktu tidak aktif selama 60 menit.
Anda juga dapat menyertakan arahan opsional ini untuk kontrol yang lebih baik:
| Direktif | Tujuan |
|---|---|
proxy_cache_penggunaan_masa_basi | Menyajikan konten basi jika server asal tidak tersedia |
proxy_cache_validasi_ulang | Menggunakan permintaan GET bersyarat untuk memeriksa apakah konten masih valid |
pembaruan_latar_belakang_cache_proxy | Menyegarkan konten basi di latar belakang |
kunci_cache_proxy | Mencegah beberapa permintaan membanjiri server asal |
Setelah menentukan parameter ini, alokasikan memori dan ruang disk berdasarkan lalu lintas yang Anda harapkan.
Manajemen Ukuran Cache
Untuk menentukan ukuran cache secara efektif, pertimbangkan penggunaan memori dan disk. Berikut caranya:
- Ukuran Zona Memori Alokasikan memori untuk
zona_kunciuntuk mencocokkan kebutuhan caching Anda:keys_zone=enterprise_cache:100m; # Mendukung sekitar 800.000 kunci cache - Alokasi Ruang Disk Sesuaikan
jalur_cache_proxyuntuk menentukan ruang disk maksimum:proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=enterprise_cache:100m max_size=10g tidak aktif=24h use_temp_path=off;
Setelah parameter ini ditetapkan, Anda siap untuk menginisialisasi dan mengaktifkan cache Anda.
Inisialisasi Cache
Setelah menyempurnakan parameter dan ukuran Anda, ikuti langkah-langkah berikut untuk mengaktifkan caching:
- Menggunakan
jalur_cache_proxydirektif dari contoh di atas dan tambahkanproxy_cache cache_sayake konfigurasi Anda. - Aktifkan caching dalam yang relevan
serverataulokasimemblokir:proxy_cache cache_saya; - Secara opsional, sertakan salah satu arahan penyempurnaan yang disebutkan sebelumnya untuk meningkatkan kinerja.
- Pantau status cache dengan menambahkan header khusus:
tambahkan_header X-Cache-Status $upstream_cache_status;
Catatan:Menurut dokumentasi NGINX, 1 MB
zona_kuncidapat menyimpan sekitar 8.000 kunci.
Pengaturan ini memastikan cache Anda siap menangani lalu lintas secara efisien sambil tetap mempertahankan fleksibilitas untuk penyesuaian.
sbb-itb-59e1987
Manajemen Cache NGINX Perusahaan
Setelah jalur cache dan parameter Anda ditetapkan, saatnya untuk meningkatkan skala pengaturan Anda guna menangani lalu lintas tingkat perusahaan secara efektif.
Optimasi Tingkat Hit Cache
Untuk meningkatkan efisiensi cache, aktifkan fitur seperti permintaan bersyarat dan pembaruan latar belakang:
proxy_cache_revalidate aktif; proxy_cache_background_update aktif; proxy_cache_use_stale memperbarui; Cegah server asal Anda kewalahan dengan mengonfigurasi pengaturan berikut:
proxy_cache_lock aktif; proxy_cache_lock_timeout 5dtk; proxy_cache_min_uses 2; Untuk lingkungan dengan lalu lintas tinggi, distribusikan beban cache ke beberapa perangkat penyimpanan untuk meningkatkan kinerja:
klien_terpisah "${request_uri}" $disk { 20% "/data/cache1"; 20% "/data/cache2"; 20% "/data/cache3"; 20% "/data/cache4"; * "/data/cache5"; } Setelah cache Anda dioptimalkan untuk kinerja, fokuslah pada pengamanannya untuk menangani konten sensitif.
Kontrol Keamanan Cache
Untuk melindungi permintaan yang sensitif, lewati caching dan sesuaikan kunci cache sesuai kebutuhan:
proxy_cache_bypass $http_pragma; proxy_cache_bypass $cookie_nocache; proxy_ignore_headers Kontrol-Cache; Untuk konten yang dipersonalisasi atau permintaan berbasis cookie, sesuaikan kunci cache dan metode yang didukung:
proxy_cache_key "$host$request_uri$cookie_user"; proxy_cache_methods DAPATKAN KEPALA POST; Setelah mengamankan cache, pastikan Anda terus memantau kinerjanya.
Pelacakan Kinerja Cache
Pantau perilaku cache menggunakan definisi status untuk menyempurnakan pengaturan Anda:
| Status | Definisi |
|---|---|
| MEMPERBARUI | Konten basi disajikan saat pembaruan sedang berlangsung |
| DIVALIDASI ULANG | Konten yang di-cache divalidasi ulang dengan server asal |
Menganalisis Status Cache X metrik secara teratur dan menyesuaikan arahan agar selaras dengan pola lalu lintas untuk hasil optimal.
ServerionKonfigurasi Cache NGINX

Serverion menyesuaikan pengaturan cache NGINX berdasarkan kebutuhan spesifik setiap beban kerja. Dengan menggunakan arahan inti, mereka mengoptimalkan konfigurasi cache secara berbeda untuk VPS dan server khusus.
Jalur Cache Berdasarkan Beban Kerja
Beban Kerja VPS
Untuk pengaturan VPS, konfigurasi ini menghasilkan keseimbangan antara efisiensi memori dan waktu respons yang cepat:
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=SERVERCACHE:10m max_size=10g tidak aktif=60m use_temp_path=off; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_cache_valid 200 302 60m; proxy_cache_valid 404 1m; Itu zona_kunci Ukurannya diatur untuk menampung sekitar 80.000 kunci.
Server Khusus
Untuk aplikasi dengan lalu lintas tinggi di server khusus, Serverion menggunakan sistem caching terdistribusi di beberapa SSD:
jalur_cache_proxy /cache1 level=1:2 zona_kunci=cache1:10m; jalur_cache_proxy /cache2 level=1:2 zona_kunci=cache2:10m; jalur_cache_proxy /cache3 level=1:2 zona_kunci=cache3:10m; split_clients "${request_uri}" $cachezone { 33% "cache1"; 33% "cache2"; * "cache3"; } Pengaturan ini mendistribusikan penulisan cache secara merata di tiga SSD menggunakan klien_terpisah direktif.
Nilai spesifik untuk konfigurasi ini diperoleh dari Tabel Referensi Parameter Cache Serverion.
Pengaturan Infrastruktur
Untuk lebih meningkatkan kinerja, pengaturan pekerja NGINX disesuaikan untuk menangani input dan output cache secara efisien:
proses_pekerja otomatis; koneksi_pekerja 1024; afinitas_cpu_pekerja 0-3; # menyelaraskan pekerja dengan inti CPU Penyesuaian ini memastikan respons yang di-cache dikirimkan dengan efisiensi maksimum.
Ringkasan: Hasil Penyetelan Cache NGINX
Serverion meningkatkan kinerja dan keandalan di seluruh sistem hosting melalui penyesuaian cache proxy yang terperinci. Dengan menyempurnakan hierarki cache, mengelola pengaturan kesegaran, dan mengoptimalkan pemrosesan header, mereka mempertahankan pengiriman konten yang lancar. Waktu nyata Cache Proxy X metrik memungkinkan tim TI untuk menyesuaikan pengaturan cache secara efektif, menghasilkan waktu respons yang lebih cepat, mengurangi beban pada server asal, dan ketersediaan yang lebih baik untuk operasi perusahaan.