Kinerja server adalah fondasi dari pengalaman pengguna dan search engine visibility. Sebuah bottleneck pada server dapat secara langsung berdampak negatif pada peringkat dan konversi.
Artikel ini adalah studi kasus faktual tentang bagaimana saya mendiagnosis dan menyelesaikan masalah resource contention pada memori server dengan melakukan migrasi dari web server Apache ke Nginx.
Identifikasi Masalah Kinerja Awal
Langkah pertama dalam setiap optimasi adalah system monitoring untuk mendapatkan data kuantitatif. Analisis awal dari dashboard DigitalOcean menunjukkan metrik penggunaan Memori (RAM) telah mencapai level 80%, sebuah indikator kuat adanya resource saturation.

Kondisi ini sangat berbahaya karena mendekati ambang batas di mana mekanisme OOM Killer (Out of Memory Killer) dari Kernel Linux dapat aktif. Jika terpicu, OOM Killer akan mematikan paksa proses yang dianggap paling boros memori, yang seringkali merupakan proses krusial seperti database.
Investigasi Penyebab Utama
Setelah mengidentifikasi gejala, langkah selanjutnya adalah melakukan root cause analysis. Saya menggunakan utilitas htop, sebuah process viewer interaktif, untuk analisis proses secara real-time.

Data dari htop dengan cepat menunjukkan bahwa sejumlah besar proses apache2 secara kolektif menyebabkan memory bloat. Ini adalah karakteristik dari modul default Apache, mpm_prefork, yang menggunakan model process-per-request dan memiliki process overhead yang tinggi pada server dengan RAM terbatas.
Implementasi Solusi Migrasi ke Nginx
Berdasarkan analisis, solusi yang paling logis adalah mengganti web server ke Nginx. Nginx menggunakan arsitektur event-driven dengan model I/O non-blocking, yang memungkinkannya menangani ribuan koneksi secara bersamaan hanya dengan beberapa proses “pekerja” yang ringan.
Sebelum melakukan migrasi, mitigasi risiko adalah prioritas. Saya melakukan dua langkah persiapan krusial, yaitu membuat Snapshot Droplet sebagai strategi disaster recovery, dan membuat Swap File sebagai mekanisme virtual memory untuk stabilitas sementara.

Penanganan Masalah Pasca-Migrasi
Proses migrasi tidak selalu berjalan tanpa hambatan. Setelah instalasi Nginx, website menampilkan Error 521, sebuah kode error spesifik dari proxy Cloudflare yang mengindikasikan kegagalan koneksi ke origin server.
Masalah ini terjadi karena mode enkripsi Cloudflare diatur ke “Full (Strict)”, yang mewajibkan adanya sertifikat SSL yang valid di server asal untuk proses SSL handshake. Solusinya adalah menginstal sertifikat dari Certificate Authority (CA) Let’s Encrypt menggunakan Certbot, yang secara otomatis memodifikasi server block Nginx untuk melayani traffic melalui port 443 (HTTPS).
Verifikasi Hasil dan Kesimpulan
Tahap akhir adalah verifikasi untuk memastikan solusi yang diimplementasikan memberikan dampak positif. Analisis htop pasca-migrasi menunjukkan perubahan signifikan pada resource utilization, di mana penggunaan RAM turun dari ~694MB menjadi hanya 432MB.

Studi kasus ini membuktikan bahwa optimasi stack perangkat lunak seringkali merupakan solusi yang lebih efektif dibandingkan langsung melakukan vertical scaling. Server kini tidak hanya lebih stabil, tetapi juga memiliki performance baseline yang lebih baik dan siap untuk skalabilitas di masa depan.

Beberapa dokumentasi yang membantu saya menyelesaikan analisis server ini antara lain: