{"id":41735,"date":"2023-09-06T09:26:57","date_gmt":"2023-09-06T02:26:57","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=41735"},"modified":"2023-09-06T15:11:20","modified_gmt":"2023-09-06T08:11:20","slug":"varnish-cache-adalah","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/varnish-cache-adalah\/","title":{"rendered":"Varnish Cache: Pengertian dan Cara Konfigurasinya di Nginx"},"content":{"rendered":"\n<p>Bagaimana sebuah website dapat berjalan dengan cepat? Salah satu jawabannya adalah dengan memanfaatkan <a href=\"https:\/\/blog.rumahweb.com\/cache-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"apa itu cache\">cache<\/a> pada website hingga browser. Varnish Cache adalah salah satu opsi yang dapat Anda pertimbangkan untuk meningkatkan kecepatan website di server Nginx. <\/p>\n\n\n\n\n\n<p>Dalam artikel ini, kami akan berbagi informasi tentang apa itu Varnish Cache hingga cara konfigurasinya di web server Nginx untuk meningkatkan kecepatan akses website. Simak informasi berikut ini.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa itu Varnish?<\/h2>\n\n\n\n<p>Varnish adalah software open source yang berfungsi sebagai web accelerator dengan menggunakan cache dan reverse proxy. Varnish dirancang untuk meningkatkan performa website dengan menggunakan caching tingkat tinggi di sisi server, dimana Varnish bekerja sebagai reverse proxy cache diantara client dan webserver.<\/p>\n\n\n\n<p>Varnish dikhususkan untuk website Dynamic yang memiliki akses atau traffic yang sangat tinggi. Dengan memanfaatkan cache pada varnish, server dapat mengurangi kecepatan response, dan beban disisi webserver utama untuk mencegah terjadinya overload disisi Webserver.<\/p>\n\n\n\n<p>Varnish Cache juga mengadopsi konsep &#8220;<em>hashing<\/em>&#8221; untuk mengelompokkan jenis permintaan yang serupa. Permintaan dengan jenis yang sama akan diarahkan ke cache yang sama, mengurangi jumlah permintaan yang harus diarahkan ke webserver backend. Ini membantu dalam mengurangi beban server dan meningkatkan efisiensi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fungsi Varnish Cache di Nginx<\/h2>\n\n\n\n<p>Varnish cache dapat digunakan bersama dengan Nginx untuk meningkatkan performa dan kecepatan pengiriman konten pada pengguna.<\/p>\n\n\n\n<p>Varnish dan Nginx adalah kombinasi yang sangat tepat. Hal ini karena Nginx dikhususkan untuk menangani high availability (webserver kinerja tinggi) dan akan membutuhkan cache sebagai optimalisasi fungsi seperti CDN.<\/p>\n\n\n\n<p>Berikut adalah beberapa fungsi Varnish di Nginx.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Kecepatan Tinggi<\/h3>\n\n\n\n<p>Nginx memiliki kecepatan pengiriman yang tinggi dan efisien. Ketika Nginx digabungkan dengan Varnish Cache, kecepatan ini dapat lebih ditingkatkan karena Varnish akan menyimpan salinan halaman yang sering diminta dalam memori varnish.<\/p>\n\n\n\n<p>Hal ini memungkinkan ketika terdapat permintaan (request), Varnish dapat memprosesnya secara langsung tanpa harus melibatkan backend Nginx.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Penurunan beban Server<\/h3>\n\n\n\n<p>Dengan Varnish Cache di depan Nginx, sebagian besar permintaan pengguna dapat direspons oleh Varnish tanpa perlu mengakses server Nginx atau aplikasi web di belakangnya. Ini mengurangi beban pada server Nginx dan memberikan kemampuan untuk menangani lebih banyak permintaan dengan cepat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Dynamic Cache<\/h3>\n\n\n\n<p>Varnish dapat melakukan caching pada konten statik dan dinamis, varnish dapat bekerja secara optimal dengan menggunakan cms seperti WordPress, Drupal, dan CMS lainnya dengan cara mengambil beberapa elemen yang tidak berubah secara sering dari cache tanpa perlu membebani server aplikasi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Manage Cache yang mudah<\/h3>\n\n\n\n<p>Varnish memiliki fitur konfigurasi cache yang fleksibel. Kita dapat mengatur bagaimana konten di-cache, berapa lama konten akan disimpan dalam cache memory, dan bagaimana penanganan cache diatur berdasarkan jenis konten dan permintaan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Penanganan respon DDOS<\/h3>\n\n\n\n<p>Varnish juga dapat berfungsi sebagai lapisan pertahanan tambahan untuk melindungi webserver backend dari serangan DDoS atau serangan lainnya. Dengan melakukan filtering sebagian besar permintaan sebelum mencapai server backend, Varnish dapat membantu mengurangi dampak serangan tersebut.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cara install dan konfigurasi Varnish Cache<\/h2>\n\n\n\n<p>Pada panduan kali ini, kami akan melakukan instalasi varnish cache sebagai reverse proxy untuk Nginx di OS Ubuntu 20.04. Konfigurasi ini telah dicoba dan telah berjalan sangat optimal pada OS Ubuntu 20.04 dan OS Debian 11.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1. Persiapan Sistem<\/h3>\n\n\n\n<p>Sebelum melakukan instalasi Varnish cache di Nginx, pastikan sistem yang Anda bangun telah memenuhi sistem requirement berikut ini. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OS Ubuntu 20.04 atau Debian 11 bullseye<\/li>\n\n\n\n<li>RAM 2 GB dan Disk Storage minimal 10GB<\/li>\n\n\n\n<li>Virtualisasi KVM akan lebih baik<\/li>\n<\/ul>\n\n\n\n<p>Pada demo kali ini, kami menggunakan <a href=\"https:\/\/www.rumahweb.com\/vps-murah\/\" target=\"_blank\" rel=\"noopener\" title=\"\"><strong>VPS KVM<\/strong><\/a> Rumahweb dengan spesifikasi paket M.  Setelah memastikan telah memenuhi sistem requirement, Anda bisa mengikuti step berikut untuk cara install webserver nginx hingga konfigurasi varnish di nginx. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2. Installasi Webserver Nginx<\/h3>\n\n\n\n<p>Sebelum melakukan konfigurasi Varnish, kita akan melakukan installasi nginx webserver dan melakukan konfigurasi pada worker Nginx agar berjalan optimal.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt update\napt upgrade -y\napt install nginx\napt inatall nginx-extras<\/code><\/pre>\n\n\n\n<p>Setelah Installasi Nginx, kita akan melakukan konfigurasi pada virtualhost Nginx agar Default berjalan pada port 8080.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/nginx\/sites-available\/default<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>server {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen 80 default_server;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen &#091;::]:80 default_server;<\/code><\/pre>\n\n\n\n<p>Pada listen 80, ubah menjadi listen 8080, begitupun pada server block lainnya yang ada pada folder conf.d.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen 80 default_server;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen &#091;::]:80 default_server;<\/code><\/pre>\n\n\n\n<p>Selanjutnya, lakukan konfigurasi custom yang telah kami optimalkan sebagai berikut pada \/etc\/nginx\/nginx.conf.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>user www-data;\nworker_processes auto;\npid \/run\/nginx.pid;\nworker_rlimit_nofile 100000;     #Sesuaikan sesuai RAM\ninclude \/etc\/nginx\/modules-enabled\/*.conf;\nevents {\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;worker_connections 80920; #Sesuaikan RAM\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multi_accept on;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use epoll;\n}\n\nhttp {\n       #Konfig Custom\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set_real_ip_from 127.0.0.1;\n       real_ip_header X-Forwarded-For;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open_file_cache max=29100 inactive=20s;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open_file_cache_valid 35s;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open_file_cache_min_uses 2;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;open_file_cache_errors on;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# buffers\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_buffer_size 128k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_buffers 256 16k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_busy_buffers_size 256k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_temp_file_write_size 256k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_buffer_size &nbsp; 128k;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_buffers &nbsp; 4 256k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_busy_buffers_size &nbsp; 256k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_read_timeout 150;\n# &nbsp; &nbsp; &nbsp; fastcgi_cache_path \/var\/cache\/nginx\/fastcgi_cache levels=1:2 keys_zone=fastcgi_cache:16m max_size=256m inactive=1d;\n# &nbsp; &nbsp; &nbsp; fastcgi_temp_path \/var\/cache\/nginx\/fastcgi_temp 1 2;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#limit ddos attack\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;limit_conn_zone $binary_remote_addr zone=perip:10m;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;limit_conn perip 30;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;limit_req_zone $binary_remote_addr zone=engine:10m rate=2r\/s;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;limit_req_zone $binary_remote_addr zone=static:10m rate=100r\/s;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Konfigurasi Header\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendfile on;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tcp_nopush on;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tcp_nodelay on;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keepalive_timeout 65;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;types_hash_max_size 2048;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_tokens off;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;more_set_headers 'Server: Varnish RumahWeb;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include \/etc\/nginx\/mime.types;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default_type application\/octet-stream;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_names_hash_bucket_size 64;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_names_hash_max_size 4096;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Setting untuk ssl\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssl_protocols TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssl_prefer_server_ciphers on;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Logging Akses\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access_log \/var\/log\/nginx\/access.log;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_log \/var\/log\/nginx\/error.log;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log_format custom '$remote_addr - $remote_user &#091;$time_local] '\n                         '\"$request\" $status $body_bytes_sent '\n                         '\"$http_referer\" \"$http_user_agent\"\"$gzip_ratio\"';\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Konfigurasi Gzip\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gzip on;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gzip_min_length 10240;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gzip_comp_level 5;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gzip_vary on;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gzip_disable msie6;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gzip_proxied any;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gzip_types\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Kompresi Untuk Gzip\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text\/css\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text\/javascript\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text\/xml\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text\/plain\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text\/x-component\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application\/javascript\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application\/x-javascript\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application\/json\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application\/xml\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application\/rss+xml\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application\/atom+xml\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font\/truetype\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font\/opentype\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application\/vnd.ms-fontobject\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image\/svg+xml;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Virtual Host \n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reset_timedout_connection on;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client_body_buffer_size 10K;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client_header_buffer_size 1k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client_max_body_size 8m;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;large_client_header_buffers 4 4k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client_body_timeout 10;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client_header_timeout 10;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;send_timeout 8;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keepalive_requests 100000;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include \/etc\/nginx\/conf.d\/*.conf;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include \/etc\/nginx\/sites-enabled\/*;\n}<\/code><\/pre>\n\n\n\n<p>Setelah dilakukan penyesuaian, simpan konfigurasi Nginx dan pastikan Nginx berjalan pada port 8080 dengan meng-eksekusi command.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart nginx\n\nsystemctl reload nginx\n\nnetstat -antp atau ss -tlnf inet<\/code><\/pre>\n\n\n\n<p>output :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"144\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1-1024x144.png\" alt=\"port server vps\" class=\"wp-image-41902\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1-1024x144.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1-300x42.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1-768x108.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1-370x52.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1-270x38.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1-570x80.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1-740x104.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-1.png 1063w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3. Konfigurasi Varnish Cache<\/h3>\n\n\n\n<p>Tahap pertama adalah installasi Varnish Cache pada server,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install varnish<\/code><\/pre>\n\n\n\n<p>Setelah dilakukan installasi varnish, Langkah selanjutnya adalah mengarahkan lalu lintas Nginx melalui Varnish. Caranya dengan mengubah port varnish 6081 menjadi port 80.<\/p>\n\n\n\n<p>Untuk melakukan perbahan tersebut edit file konfigurasi yang terdapat pada \/lib\/systemd\/system\/varnish.service.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/lib\/systemd\/system\/varnish.service<\/code><\/pre>\n\n\n\n<p>Isi pada konfigurasi Varnish cache sebagai berikut :&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;Unit]\n&nbsp;Description=Varnish HTTP accelerator\n&nbsp;Documentation=https:\/\/www.varnish-cache.org\/docs\/4.1\/ man:varnishd\n\n&#091;Service]\n&nbsp;Type=simple\n&nbsp;LimitNOFILE=131072\n&nbsp;LimitMEMLOCK=82000\n\n&nbsp;ExecStart=\/usr\/sbin\/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f \/etc\/varnish\/default.vcl -S \/etc\/varnish\/secret -s malloc,256m\n\n&nbsp;ExecReload=\/usr\/share\/varnish\/varnishreload\n&nbsp;ProtectSystem=full\n ProtectHome=true\n&nbsp;PrivateTmp=true\n&nbsp;PrivateDevices=true\n\n&#091;Install]\n\n&nbsp;WantedBy=multi-user.target<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"564\" height=\"448\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image.png\" alt=\"konfigurasi Varnish cache\" class=\"wp-image-41901\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image.png 564w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-300x238.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-370x294.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-270x214.png 270w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Simpan konfigurasi, maka varnish akan berjalan pada port 80, selanjutnya kita akan melakukan konfigurasi untuk mengarahkan varnish pada port nginx yaitu 8080.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/varnish\/default.vcl<\/code><\/pre>\n\n\n\n<p>Sesuaikan port berjalan di 8080.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>backend default {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.host = \"127.0.0.1\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.port = \"8080\";&nbsp;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<\/code><\/pre>\n\n\n\n<p>Perhatikan pada .port -nya dan pastikan mengarah ke 8080 kalau tidak mengarah ke 8080 Anda bisa merubahnya disini.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"301\" height=\"111\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-2.png\" alt=\"port server varnish\" class=\"wp-image-41903\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-2.png 301w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-2-270x100.png 270w\" sizes=\"auto, (max-width: 301px) 100vw, 301px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Semua konfigurasi telah selesai dilakukan, langkah selanjutnya adalah melakukan restart dan enable pada service varnish.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload&nbsp;\nsystemctl enable varnish\nsudo service varnish restart<\/code><\/pre>\n\n\n\n<p>Selanjutnya lakukan pengecekan pada service dan port yang berjalan dengan menggunakan ss -tlnf inet.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"964\" height=\"192\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3.png\" alt=\"port server vps\" class=\"wp-image-41904\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3.png 964w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3-300x60.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3-768x153.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3-370x74.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3-270x54.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3-570x114.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-3-740x147.png 740w\" sizes=\"auto, (max-width: 964px) 100vw, 964px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Pengujian Varnish<\/h2>\n\n\n\n<p>Untuk melakukan pengujian Varnish dapat menggunakan curl atau menggunakan loadtester sebagai ujicoba beban.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -I domain.com<\/code><\/pre>\n\n\n\n<p>atau jika hanya IP VPS<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -I 203.175.8.223<\/code><\/pre>\n\n\n\n<p>Maka akan tampil output varnish sebagai berikut, membuktikan bahwa varnish telah berjalan melalui port 80 dan meneruskan premintaan ke backend.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"415\" height=\"282\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-4.png\" alt=\"hasil pengujian varnish curl\" class=\"wp-image-41905\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-4.png 415w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-4-300x204.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-4-370x251.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/09\/image-4-270x183.png 270w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Pengujian Varnish Loadtester<\/h3>\n\n\n\n<p>Pada pengujian kali ini akan menggunakan berbagai software Benchmark seperti apache jmeter, k6, loadtest, loadrunner.<\/p>\n\n\n\n<p><strong>Note <\/strong>: Pengujian dilakukan dengan Vps Ram 2 GB<\/p>\n\n\n\n<p>Hasil uji benchmark menunjukkan sebuah VPS KVM dengan 2GB RAM, 1 vCPU, 40GB SSD dapat menangani trafik 2400 &#8211; 3100 user dalam 1 menit dengan mudah dan ringan, tanpa error tanpa timeout.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"494\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47-1024x494.png\" alt=\"hasil pengujian varnish cache loadtester\" class=\"wp-image-41739\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47-1024x494.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47-300x145.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47-768x370.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47-370x178.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47-270x130.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47-570x275.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47-740x357.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/08\/image-47.png 1064w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Sampai tahap ini, konfigurasi Varnish di Nginx telah selesai. <\/p>\n\n\n\n<p>Demikian artikel kami tentang apa itu varnish cache dan cara konfigurasi varnish di Nginx, semoga bermanfaat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bagaimana sebuah website dapat berjalan dengan cepat? Salah satu jawabannya adalah dengan memanfaatkan cache pada website hingga browser. Varnish Cache adalah salah satu opsi yang dapat Anda pertimbangkan untuk meningkatkan kecepatan website di server Nginx. Dalam artikel ini, kami akan berbagi informasi tentang apa itu Varnish Cache hingga cara konfigurasinya di web server Nginx untuk [&hellip;]<\/p>\n","protected":false},"author":349,"featured_media":41907,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[177],"tags":[62,1148,2088,2089],"class_list":{"0":"post-41735","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-vps","8":"tag-cache","9":"tag-nginx","10":"tag-varnish","11":"tag-varnish-cache"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/41735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/349"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=41735"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/41735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/41907"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=41735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=41735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=41735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}