Mengoptimalkan Kinerja NGINX pada Server Linux
NGINX udah jadi salah satu web server favorit buat banyak orang karena kecepatan dan efisiensinya. Tapi, biar makin ngebut, ada beberapa trik yang bisa lo lakukan buat optimalkan kinerja NGINX di server Linux. Yuk, simak tips-tipsnya!
1. Tweak Konfigurasi NGINX
Pertama-tama, lo perlu nge-tweak konfigurasi NGINX biar lebih optimal. Buka file konfigurasi NGINX (biasanya di /etc/nginx/nginx.conf
) dan lakukan beberapa perubahan:
Worker Processes: Atur jumlah worker processes sesuai dengan jumlah core CPU yang lo punya. Misalnya, kalo server lo punya 4 core, set
worker_processes
jadi 4.worker_processes 4;
Worker Connections: Tingkatkan jumlah koneksi yang bisa ditangani oleh setiap worker. Defaultnya biasanya 1024, tapi lo bisa naikkan jadi 4096 atau lebih tergantung kebutuhan.
events { worker_connections 4096; }
Multi Accept: Aktifkan
multi_accept
biar setiap worker bisa menerima banyak koneksi sekaligus.events { multi_accept on; }
2. Aktifkan Gzip Compression
Gzip compression bisa mengurangi ukuran data yang dikirim dari server ke client, sehingga mempercepat loading halaman. Aktifkan Gzip di konfigurasi NGINX:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 1000;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
3. Cache Static Content
Caching static content seperti gambar, CSS, dan JavaScript bisa mengurangi beban server dan mempercepat akses. Tambahkan konfigurasi berikut di blok server
:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
4. Tuning Buffer Size
Atur buffer size biar NGINX bisa menangani request dengan lebih efisien. Tambahkan konfigurasi berikut di blok http
:
client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 2 1k;
5. Aktifkan Keep-Alive
Keep-Alive memungkinkan koneksi tetap terbuka untuk beberapa request, sehingga mengurangi overhead koneksi baru. Aktifkan dengan menambahkan:
keepalive_timeout 65;
keepalive_requests 100;
6. Gunakan HTTP/2
HTTP/2 lebih efisien dibanding HTTP/1.1 karena mendukung multiplexing dan kompresi header. Aktifkan HTTP/2 di blok server
:
listen 443 ssl http2;
7. Optimasi SSL/TLS
Kalo lo pake SSL/TLS, optimasi konfigurasinya biar nggak ngeberatkin server:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
8. Monitor dan Tweak Berdasarkan Kebutuhan
Terakhir, jangan lupa buat monitor kinerja NGINX pake tools seperti htop
, nginx -t
, atau nginx -V
. Sesuaikan konfigurasi berdasarkan kebutuhan dan beban server lo.
Dengan ngejalanin tips-tips di atas, NGINX di server Linux lo bakal lebih ngebut dan efisien. Selamat mencoba!