{"type":"word","content":"# PANDUAN KOMPREHENSIF: MENGATASI VPS LAMBAT (TROUBLESHOOTING GUIDE)\n\nDokumen ini disusun untuk membantu administrator sistem dan pemilik website dalam mengidentifikasi, menganalisis, dan menyelesaikan masalah performa lambat (*lagging*) pada Virtual Private Server (VPS) berbasis Linux.\n\n---\n\n## 1. Diagnosis Awal Penggunaan Sumber Daya (Resource Monitoring)\n\nLangkah pertama dalam mengatasi VPS lambat adalah mengidentifikasi komponen mana yang menjadi hambatan (*bottleneck*). Hambatan biasanya terjadi pada empat area utama: **CPU, RAM, Disk I\/O, atau Jaringan**.\n\n### A. Memeriksa Penggunaan CPU dan RAM\nGunakan perintah interaktif berikut untuk melihat proses apa saja yang mengonsumsi sumber daya terbesar secara real-time.\n\n*   **Perintah `top` atau `htop`:**\n    ```bash\n    htop\n    ```\n    *Catatan: Jika `htop` belum terinstal, instal menggunakan `sudo apt install htop` (Ubuntu\/Debian) atau `sudo yum install htop` (CentOS\/RHEL).*\n    *   **Analisis:** Perhatikan persentase penggunaan CPU dan RAM di bagian atas. Cari proses (seperti `mysql`, `php-fpm`, atau `apache2`) yang menggunakan CPU mendekati 100%.\n\n*   **Perintah `free -m`:**\n    ```bash\n    free -m\n    ```\n    *   **Analisis:** Perhatikan kolom `available`. Jika sisa memori sangat kecil (di bawah 100MB), VPS Anda kemungkinan besar melakukan *swapping* (menggunakan disk sebagai RAM), yang akan memperlambat performa secara drastis.\n\n### B. Memeriksa Kecepatan dan Penggunaan Disk (I\/O Bottleneck)\nDisk yang penuh atau aktivitas baca\/tulis (I\/O) yang terlalu tinggi dapat membuat sistem tidak responsif.\n\n*   **Perintah `df -h` (Memeriksa Kapasitas Disk):**\n    ```bash\n    df -h\n    ```\n    *   **Analisis:** Jika penggunaan disk pada partisi utama (`\/`) mencapai 100%, sistem tidak dapat menulis file sementara (*temporary files*), yang menyebabkan layanan berhenti atau melambat.\n\n*   **Perintah `iotop` (Memeriksa Aktivitas Baca\/Tulis):**\n    ```bash\n    sudo iotop\n    ```\n    *   **Analisis:** Perhatikan kolom `DISK READ` dan `DISK WRITE`. Jika ada proses yang terus-menerus melakukan penulisan\/pembacaan besar, ini adalah penyebab utama *disk overload*.\n\n---\n\n## 2. Optimasi Layanan Utama (Web Server & Database)\n\nSebagian besar kasus VPS lambat disebabkan oleh konfigurasi web server dan database yang tidak dioptimalkan untuk spesifikasi hardware yang ada.\n\n### A. Optimasi Database (MySQL \/ MariaDB)\nDatabase sering kali menjadi penyebab utama penggunaan CPU tinggi.\n\n1.  **Gunakan MySQLTuner:**\n    Unduh dan jalankan skrip analisis otomatis untuk mendapatkan rekomendasi konfigurasi:\n    ```bash\n    wget http:\/\/mysqltuner.pl\/ -O mysqltuner.pl\n    perl mysqltuner.pl\n    ```\n2.  **Aktifkan Query Caching \/ Optimasi Buffer:**\n    Sesuaikan nilai berikut pada file konfigurasi MySQL (`\/etc\/mysql\/my.cnf` atau `\/etc\/my.cnf`):\n    *   `innodb_buffer_pool_size`: Atur hingga 50-70% dari total RAM jika VPS Anda didedikasikan hanya untuk database.\n    *   `max_connections`: Batasi jumlah koneksi simultan agar tidak melebihi kapasitas RAM.\n\n### B. Optimasi Web Server (Nginx \/ Apache)\n*   **Jika menggunakan Apache:** Ganti modul MPM Prefork ke **MPM Event** dan gunakan **PHP-FPM** untuk efisiensi memori yang jauh lebih baik.\n*   **Jika menggunakan Nginx:** Sesuaikan nilai `worker_processes` ke `auto` dan tingkatkan `worker_connections` pada file `\/etc\/nginx\/nginx.conf`.\n\n---\n\n## 3. Analisis Jaringan dan Keamanan (Network & Security)\n\nTerkadang, VPS lambat bukan karena aplikasi internal, melainkan karena lalu lintas jaringan yang tidak normal atau serangan siber.\n\n### A. Memeriksa Koneksi Aktif (Potensi DDoS\/Brute Force)\nGunakan perintah berikut untuk melihat jumlah koneksi unik ke VPS Anda:\n```bash\nnetstat -anp | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n\n```\n*   **Analisis:** Jika Anda melihat satu IP address melakukan ratusan koneksi simultan, IP tersebut kemungkinan sedang melakukan serangan DDoS atau *scraping* agresif.\n\n### B. Solusi Keamanan Cepat\n1.  **Instal Fail2ban:** Untuk memblokir IP yang melakukan percobaan login berulang secara otomatis.\n    ```bash\n    sudo apt install fail2ban -y\n    ```\n2.  **Gunakan Cloudflare:** Sebagai reverse proxy untuk menyaring lalu lintas berbahaya sebelum mencapai server Anda.\n\n---\n\n## 4. Tabel Ringkasan Diagnosis Cepat\n\n| Gejala Masalah | Perintah Diagnosis | Kemungkinan Penyebab | Solusi Cepat |\n| :--- | :--- | :--- | :--- |\n| **CPU 100%** | `htop`, `top` | Proses PHP\/MySQL tidak efisien, serangan DDoS | Optimasi query database, batasi *worker* web server, blokir IP penyerang. |\n| **RAM Penuh (0 MB Free)** | `free -m` | Kebocoran memori (*memory leak*), terlalu banyak *child process* | Restart service (`systemctl restart php-fpm`), tambahkan memori SWAP. |\n| **Disk Space 100%** | `df -h` | File log membengkak, file sampah\/backup menumpuk | Bersihkan log di `\/var\/log`, hapus backup lama, jalankan `apt clean`. |\n| **Disk I\/O Tinggi** | `iotop` | Query database tanpa indeks, aktivitas pencatatan log terlalu ketat | Buat indeks pada tabel database, kurangi tingkat log (*log level*). |\n| **Koneksi Lambat** | `ping`, `traceroute` | Masalah rute jaringan ISP, bandwidth VPS habis | Hubungi penyedia VPS, gunakan CDN seperti Cloudflare. |\n\n---\n\n## 5. Rekomendasi Tindakan Pencegahan (Best Practices)\n\n1.  **Konfigurasi SWAP Memory:** Jika VPS Anda memiliki RAM kecil (1GB - 2GB), selalu buat partisi SWAP sebesar 1GB - 2GB sebagai cadangan darurat agar sistem tidak langsung *crash* saat RAM penuh.\n2.  **Lakukan Pembersihan Berkala:** Atur *cron job* untuk membersihkan cache dan membatasi ukuran file log agar tidak memenuhi kapasitas disk.\n3.  **Gunakan Monitoring Tools:** Pasang alat monitoring eksternal seperti UptimeRobot atau Netdata untuk mendapatkan notifikasi instan sebelum VPS benar-benar tidak dapat diakses."}