Tuning Performa Server Linux untuk Website — Lebih Cepat 5x dengan Konfigurasi Tepat
27 April 2026

Anda sudah pakai VPS atau dedicated server tapi website terasa tetap lemot? Sebagian besar penyebabnya bukan hardware, melainkan konfigurasi default yang jauh dari optimal. Artikel ini berisi parameter konkret yang bisa Anda terapkan untuk meningkatkan performa hingga 5x lipat.
1. Tuning Kernel (sysctl)
Kernel Linux default dirancang konservatif untuk semua use case. Untuk web server traffic tinggi, sesuaikan di /etc/sysctl.conf:
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
fs.file-max = 2097152
vm.swappiness = 10
Aktifkan dengan sysctl -p.
2. Nginx — Worker & Buffer
Atur jumlah worker sama dengan jumlah CPU core, dan buffer cukup besar untuk menghindari disk spill.
worker_processes auto;
worker_rlimit_nofile 65535;
events {
worker_connections 4096;
use epoll;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
client_body_buffer_size 128k;
client_max_body_size 50m;
gzip on;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript;
}
3. PHP-FPM — Process Pool
PHP-FPM default biasanya hanya 5 child. Untuk traffic moderat, naikkan:
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
Rumus kasar max_children: (RAM tersedia - RAM OS) / rata-rata RAM per proses PHP.
4. OPcache — Wajib Aktif
OPcache menyimpan bytecode PHP di RAM sehingga tidak perlu kompilasi ulang tiap request. Bisa mempercepat hingga 3x.
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
5. MySQL / MariaDB — InnoDB Buffer Pool
Parameter terpenting di MySQL adalah innodb_buffer_pool_size — set ke 50-70% RAM untuk database server dedicated.
[mysqld]
innodb_buffer_pool_size = 4G
innodb_log_file_size = 512M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
max_connections = 200
query_cache_type = 0
slow_query_log = 1
long_query_time = 2
6. Caching Layer — Redis / Memcached
Cache hasil query, session, dan object di RAM. WordPress + Redis Object Cache bisa mengurangi load database hingga 80%.
sudo apt install redis-server
# /etc/redis/redis.conf
maxmemory 512mb
maxmemory-policy allkeys-lru
7. HTTP/2 / HTTP/3 + Brotli
Aktifkan HTTP/2 atau HTTP/3 (QUIC) untuk multiplexing koneksi. Tambah Brotli sebagai pengganti gzip — kompresi lebih baik 15-25%.
8. CDN untuk Static Asset
Pindahkan gambar, CSS, JS ke CDN (Cloudflare, BunnyCDN). Server origin Anda akan jauh lebih lega.
Cek Hasil dengan Benchmark
Sebelum & sesudah tuning, ukur dengan:
wrk -t8 -c200 -d30s https://domain.com- PageSpeed Insights dan GTmetrix
ab -n 1000 -c 50untuk load test sederhana
Kesimpulan
Tuning server bukan ilmu hitam — cukup ikuti parameter di atas dan Anda akan melihat lonjakan performa nyata. Penting: ubah satu parameter per waktu dan ukur dampaknya. Jangan ganti semuanya sekaligus karena akan sulit melacak konfigurasi mana yang justru menurunkan performa. Mulai dari OPcache + InnoDB buffer pool — dua kemenangan terbesar dengan effort terkecil.