Tuesday, August 1, 2017

Cara Optimasi Nginx Ubuntu Server 14.04

  No comments
nginx

Nginx (Engine X)

Nginx adalah aplikasi web server yang yang ringan dan efisien, Nginx menjadi populer karena kecepatanya di banding pendahulunya yaitu apache.

Walaupun nginx terbilang sangat ringan dibanding pendahulunya yaitu apache, namun belum tentu nginx lebih bagus daripada apache, JIKA SUSAH DI OPTIMASI ya.. hehe.Maka dari itu diperlukan tweak atau optimasi pada suatu aplikasi agar berjalan dengan maksimal seperti yang akan Si Mas share ke sobat kali ini yaitu optimasi nginx.

Worker Processes dan Work Connection


Yang pertama kita perlu optimasi yaitu work connection dan worker processor. Dimana worker Processor adalah jumlah processor pada server dan work connection adalah jumlah koneksi maksimal pada klien untuk setiap core pada processor. Berikut cara mengetahui jumlah work connection dan worker processor.

Mengetahui jumlah worker processor
grep processor /proc/cpuinfo | wc –l

Mengetahui jumlah work connection
ulimit -n
Jumlah Work connection dan worker processor
Jumlah Work connection dan worker processor

Kita contohkan yang keluar pada server Si Mas buat processor berjumlah 4 dan work connection berjumlah 1024.

maka untuk memasukkan jumlah tersebut atau mengyesuaikannya maka sobat harus mengedit konfigurasi nginx

nano /etc/nginx/nginx.conf

dan edit pada baris berikut.

worker_processes 4;
worker_connections 1024;

Buffers

Konfigurasi ini masih berada pada konfigurasi nginx yaitu pada file /etc/nginx/nginx.conf

client_body_buffer_size: ini untuk menangani buffer size klien, berarti POST action yang akan dikirim ke nginx. POST action biasanya berupa form kiriman yang akan masuk database ( menggunakan PHP )

client_header_buffer_size: tidak beda jauh seperti sebelumnya, hanya saja ini untuk header size klien. Untuk ukuran, 1k layak untuk header buffer size.

client_max_body_size: maximum data yang diperbolehkan nginx kepada klient yang merequest. Jika nilai maksimum melebih batas, nginx akan mengirim pesan kepada klien berupa : 413 error or Request Entity Too Large.

large_client_header_buffers: The maximum number and size of buffers for large client headers.

client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 2 1k;

Gzip Compression


Gzip dapat mengurangi beban network transfer nginx. Tapi bagaimanapun, anda harus pandai mengkonfigurasi Gzip ini. Karna jika gzip_comp_level terlalu tinggi maka akan menambah beban kerja CPU sever.

gzip             on;
gzip_comp_level  2;
gzip_min_length  1000;
gzip_proxied     expired no-cache no-store private auth;
gzip_types       text/plain application/x-javascript text/xml text/css application/xml;

Static File Caching


Berfungsi untuk mencache file file yang yang tetap seperti gambar, favicon dan lainya .

Namun untuk menambahkan script dibawah maka anda harus menambahkannya pada Virtualhost Sobat , Bukan di di konfigurasi nginx ya.

        location = /favicon.ico { log_not_found off; access_log off; }
        location = /robots.txt { log_not_found off; access_log off; allow all; }
        location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
    expires 30d;
    add_header Pragma public;
    add_header Cache-Control "public";
    try_files $uri =404;
    log_not_found off;
        }

Mungkin hanya inilah cara untuk Optimasi Nginx kali ini, Kembali lagi ke sobat pandai pandai mengoptimasi pada server dan sesuaikan pada perangkat yang digunakan. Terimakasih.

No comments :

Post a Comment