Optimasi WordPress Di VPS AApanel Apache
Processor = 2 Core, Ram = 2 Gb, Apache 2.4, Php 7.4, Mysql 5.7.44
APACHE
- Timeout: Ubah menjadi 60 atau 30.
600 detik (10 menit) terlalu lama. Jika ada koneksi lambat yang nyangkut, Apache akan menahan memori terlalu lama. 60 detik sudah sangat cukup. - KeepAlive: Ubah menjadi On.
Membuat website (terutama yang banyak memuat gambar/CSS/JS) loading lebih cepat karena browser tidak perlu membuka koneksi baru untuk setiap file. - KeepAliveTimeout: Ubah menjadi 3 atau 5.
Karena KeepAlive dinyalakan, kita harus membatasi waktunya agar tidak terlalu lama menahan koneksi pengunjung yang sudah selesai loading, sehingga memori bisa segera dipakai untuk pengunjung lain. (Angka 15 terlalu lama). - MaxKeepAliveRequests: Ubah menjadi 100.
- StartServers: Ubah menjadi 2 atau 3.
- MaxSpareThreads: Ubah menjadi 75.
- MinSpareThreads: Ubah menjadi 25.
- ThreadsPerChild: Biarkan 25.
- MaxRequestWorkers: Ubah menjadi 150 (Mentok di 200).
Ini batas maksimal koneksi serentak. 150 sudah sangat ideal untuk menyeimbangkan performa tanpa membuat RAM 2GB Anda jebol. - MaxConnectionsPerChild: Biarkan 10000 (atau turunkan ke 1000).
Berfungsi merestart proses setelah melayani sekian ribu permintaan untuk mencegah memory leak (kebocoran memori).
PHP
- Concurrency plan (1GB Ram): Membatasi alokasi RAM PHP di kisaran 1GB memastikan sistem operasi, Apache, dan MySQL tetap kebagian memori dan tidak menyebabkan server hang.
- Running mode (On-demand): untuk menghemat RAM. Berbeda dengan mode Dynamic yang selalu menyiagakan proses, On-demand hanya akan menjalankan worker PHP ketika ada pengunjung yang mengakses website, dan mematikannya saat pengunjung sepi.
- max_children (30): Jika rata-rata satu proses PHP memakan 30-40 MB, maka batas maksimal memori yang digunakan PHP saat trafik sedang tinggi hanya sekitar 900 MB – 1,2 GB.
- start_servers = 5
- min_spare_servers = 5
- max_spare_servers = 10
Install Extensions opcache (untuk mempercepat eksekusi script PHP) dan redis (untuk meringankan beban MySQL di VPS dengan RAM terbatas)
MYSQL
Pilih Optimization Plan = 1-2GB
Jika website aktif baca tulisa data, setting innodb_buffer_pool_size = 128/256