Cara Kurangi Beban Aplikasi Stok Agar Tetap Enteng
Aplikasi stok yang awalnya cepat, setelah 1 tahun dengan 10 ribu transaksi mulai lemot. Buka laporan 30 detik, filter tanggal ngelag. Penyebabnya biasanya data menumpuk tanpa arsip dan log yang tidak pernah dibersihkan.
Kenapa Aplikasi Stok Jadi Lemot
- Order menumpuk tanpa arsip - semua order dari 2 tahun lalu masih di-load saat buka dashboard
- Log aktivitas tidak pernah hapus - setiap scan, edit, hapus dicatat, 1 tahun bisa 100 ribu baris log
- Foto produk resolusi besar disimpan di server aplikasi, bukan di storage terpisah, membebani disk dan backup
- Tidak ada index di kolom yang sering difilter seperti tanggal, produk_id, sehingga query harus scan semua baris
Langkah Bereskan Tanpa Harus Ganti Aplikasi
Langkah 1 - Arsipkan order lama
Pindahkan order lebih dari 1 tahun ke tabel arsip atau export ke Excel dan simpan di Google Drive, lalu hapus dari tabel aktif. Dashboard jadi hanya load 1 tahun terakhir, jauh lebih cepat. Jika butuh laporan tahun lama, buka file arsip.
Langkah 2 - Bersihkan log lebih dari 3 bulan
Log lebih dari 3 bulan jarang dibuka kecuali ada masalah besar. Export log 3 bulan terakhir ke file, hapus yang lebih lama dari tabel aktif. Set auto cleanup tiap bulan via cron.
Langkah 3 - Kompres foto dan pindahkan jika perlu
Kompres foto produk jadi WebP 800px, bukan 3000px. Jika ada 1000 foto 2MB per foto = 2GB. Setelah kompres jadi 100KB per foto = 100MB, hemat 95% disk dan backup lebih cepat.
Optimasi Database Sederhana
Jika pakai MySQL, tambahkan index di kolom yang sering dipakai filter:
- Index di created_at untuk filter tanggal
- Index di product_id untuk filter produk
- Index komposit product_id + created_at jika sering filter produk dan tanggal bersamaan
Index membuat query yang tadinya scan 10 ribu baris jadi 100 baris, jauh lebih cepat. Tapi jangan terlalu banyak index, karena insert jadi lebih lambat. Cukup untuk kolom yang sering difilter.
Kebiasaan Agar Tetap Enteng
- Jadwalkan arsip tiap 3 bulan: order lebih dari 1 tahun pindah ke arsip
- Set auto delete log lebih dari 90 hari via cron job
- Kompres foto sebelum upload, jangan upload 3MB langsung
- Monitor ukuran database tiap bulan, jika di atas 1GB untuk toko kecil, saatnya bersih-bersih
Tes cepat: Cek ukuran database di phpMyAdmin atau di hosting. Jika di atas 500MB untuk toko dengan 200 produk, ada yang perlu dibersihkan. Cek tabel mana yang paling besar, biasanya logs atau order_items.
Penutup
Aplikasi stok enteng bukan karena beli aplikasi mahal, tapi karena data dirawat: arsip order lama, hapus log lama, kompres foto, dan index kolom yang sering difilter. Jadwalkan tiap 3 bulan 1 jam untuk bersih-bersih, aplikasi tetap cepat tanpa harus ganti baru.
Data lama perlu diarsip biar enteng ya kak?
Aplikasi stok lama-lama makin berat emang
Gw hapus log transaksi tahun lalu, langsung lebih responsif