Cara Optimasi Nginx Cache Dengan Tmpfs Di Ubuntu

Posting Komentar

Cara Optimasi Nginx Cache Dengan tmpfs di Ubuntu. Kondisi saat ini, setiap orang ingin situs web mereka dapat dibuka dan diakses lebih cepat. Jika web server yang dipergunakan saat ini adalah Nginx dengan salah satu modul ngx_pagespeed, fastcgi_cache atau proxy_cache, menjalankan modul cache tersebut di memori melalui tmpfs merupakan pilihan yang cerdas.

Secara default Nginx akan menyimpan hasil data cache kedalam disk, meskipun harddisk yang dipergunakan telah menggunakan SSD, menempatkan cache di RAM sudah dipastikan akan dapat bekerja lebih baik dan optimal dari pada didalam disk. Jika perangkat keras server memliki kapasitas RAM yang cukup besar, metode menempatkan cache pada RAM merupakan salah satu metode yang terbaik.

Cara Optimasi Nginx Cache Dengan tmpfs di Ubuntu
Cara Optimasi Nginx Cache Dengan tmpfs di Ubuntu

Dengan Cara Optimasi Nginx Cache Dengan tmpfs di Ubuntu dibawah ini, akan dapat dengan mudah melakukan implementasi nginx cache di RAM. Artikel ini bertujuan untuk mempermudah dan menambah pengetahuan bagi pejalar maupun pengguna baru Ubuntu dalam mengelola web server nginx. Bagi yang belum memiliki server yang berjalan dengan sistem operasi ubuntu diatasnya, dapat merujuk pada 2 artikel berikut

Cara Install Ubuntu 20.04 LTS Focal Fossa Minimalis

Cara Install Nginx di Ubuntu 20.04

Daftar Repository Ubuntu 20.04 LTS Server Indonesia Lengkap

Memulai optimasi Nginx cache dengan tmpfs pada Ubuntu

1. Periksa Pemakaian dan Ketersediaan RAM

Untuk mengetahui pemakaian RAM saat ini yang dipergunakan oleh system adalah dengan perintah berikut

free -h

Perintah diatas akan menunjukkan pemakaian sebagia berikut

total used free shared buff/cache available
Mem: 15G 2.8G 9.5G 471M 3.3G 12G
Swap: 0B 0B 0B

Dari hasil output diatas dapat dilihat berapa yang saat ini dipergunakan dan berapa yang tidak.

2. Membuat Tmpfs RAM

Sekarang kita telah mengetahui inforamsi mengenai berapa jumlah RAM yang tidak dipergunakan oleh system, lanjutkan dengan langkah dibawah ini untuk membuat direktori dimana nantinya akan di mount ke RAM.

Secara bawaan Nginx akan mengunakan direktori /var/cache/nginx maka supaya nanti pengelolaan web server nginx mudah direktori ramcache akan ditempatkan didalam situ. Jalankan perintah dibawah ini untuk membuat direktori dengan nama ramcache di dalam direktori /var/cache/nginx.

sudo mkdir -p /var/cache/nginx/ramcache

Setelah membuat direktori selesai, pergunakan perintah tmpfs untuk melakukan mount ke RAM. Pada artikel ini dengan sisa RAM yang belum dipergunakan sebesar 9.5GB, kita akan mempergunakan 2GB RAM saja untuk ramcache dengan perintah dibawah ini

sudo mount -t tmpfs -o size=2G tmpfs /var/cache/nginx/ramcache

Perintah diatas akan menautkan ramcache, namun hasil dari perintah diatas tidak secara permanen, dan mount point diatas akan hilang apabila dilakukan reboot. Untuk melakukan unmount dengan aman dapat menggunakan perintah ini

sudo umount /var/cache/nginx/ramcache

Jika ingin menjadikan mountpoint ramcache permanen dan tidak hilang saat server melakukan reboot, ikuti perintah dibawah ini untuk menambahkan mount point secara permanen kedalam file /etc/fstab

sudo nano /etc/fstab

masukan baris perintah dibawah ini kedalam /etc/fstab

sudo tmpfs /var/cache/nginx/ramcache tmpfs defaults,size=2G 0 0

Simpan hasil perubahan dan keluar, sekarang saat server mengalami reboot RAM storage ramcache akan otomatis dilakukan mounting, untuk melihat perubah silakan lakukan restart atau reboot server.

3. Konfigurasi Nginx Untuk Menggunakan Tmpfs

Pembuatan ramcache RAM Storage dan melakukan mounting telah selesai dilakukan, saatnya untuk melakukan perubahan pada konfigurasi web server Nginx agar proses cache mengara menggunakan RAM Cache. Setiap konfigurasi Nginx bisa saja berbeda namun secara garis besar akan ada banyak kesamaan, edit konfigurasi nginx dan masukan pengaturan seperti berikut.

fastcgi_cache_path /var/cache/nginx/ramcache/fastcgi_temp/ levels=1:2 keys_zone=cachezone:100m max_size=2g inactive=60m use_temp_path=off;
fastcgi_cache_key $scheme$request_method$host$request_uri;
fastcgi_cache_revalidate on;
fastcgi_cache_background_update on;
fastcgi_cache_use_stale error timeout invalid_header updating http_500;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;

Simpan perubahan dan keluar dari text editor lanjutkan dengan melakukan restart layanan webserver Nginx

sudo systemctl reload nginx

Nginx akan dengan otomatis melakukan memanggil /var/cache/nginx/ramcache untuk melakukan proses cache.

Jika menggunakan modul PageSpeed, perlu dilakukan penyesuaian pengaturan untuk mengarakah lokasi proses cache

pagespeed EnableCachePurge on;
pagespeed PurgeMethod PURGE;
pagespeed ImplicitCacheTtlMs 31536000000;
pagespeed FileCachePath "/var/cache/nginx/ramcache/ngx_pagespeed/";
pagespeed CreateSharedMemoryMetadataCache "/var/cache/nginx/ramcache/ngx_pagespeed/" 1000000;
pagespeed DefaultSharedMemoryCacheKB 5000000;

Cara Optimasi Nginx Cache Dengan tmpfs di Ubuntu sudah selsai dilakukan, selanjutnya adalah tinggal melakukan monitoring web server nginx serta mengukur performa kecepatannya saat melakukan akses ke website yang berada di dalamnya.

Related Posts

Posting Komentar