Tech Talk: Optimasi Query

Melanjutkan tech talk kemarin, perkenankanlah saya menyambungnya dengan membahas optimasi lebih detail lagi, yaitu ke level database dan pemrograman. Oh iya, sebagai catatan, optimasi di sini adalah berdasarkan pengalaman dan diskusi internal, mungkin belum benar-benar optimal sehingga saya harap mendapat masukan dari pembaca. Dalam kasus ini, kami menggunakan database server MySQL dan pemrograman PHP.

Oh iya, posting ini juga dimuat di studewo.com sebagai arsip.

Menggunakan mysqli

PHP telah menyediakan function untuk koneksi ke database baik secara prosedural mau pun secara obyek (class). Namun dengan berkembangnya waktu & teknologi, beberapa function telah usang dan mulai ditinggalkan karena telah ada function yang lebih baru dan lebih baik.

Kalau dahulu kita mengenal pustaka (library) mysql_xxx, maka sekarang sudah digantikan dengan mysqli_xxx (mysql improve). Jadi lebih baik mulai menggunakan library mysqli_xxx. Lebih baik lagi jika memigrasikan aplikasi yang masih menggunakan mysql_xxx ke mysqli_xxx.

Berita baiknya, cara penggunaan librari mysqli_xxx mirip dengan mysql_xxx. Dan php tetap menyediakan 2 cara penggunaan, yaitu metode prosedural mau pun obyek (class).

Baca selebihnya »

Server Down (Lagi)

Barusan server down. Kok ya down-nya pas saya ada di Pekanbaru. Bulan lalu juga down pas saya di Pekanbaru. Barusan lagi. Seolah tahu kalau saya di sini dan mulai melancarkan aksi ngambeg. Hehehe…

Bulan lalu server ngambeg karena MySQL server crash. Entah mengapa, tidak diketahui penyebabnya. Alhasil harus install ulang MySQL Server. Sekalian saja perbaharui sisop-nya, dari Ubuntu 10.10 yg sudah tidak di-support ke Ubuntu 12.04 LTS. Setelah itu sekalian mengaktifkan replikasi yang sempat terhenti lebih dari setahun.

Kali ini tiba-tiba server hang dan tidak bisa restart. Ketika dinyalakan X server tidak mau aktif seolah ada masalah di driver-nya. Syukurlah bisa masuk ke console, jadi bisa dicek semua service-nya. Semua jalan kecuali X server dan MySQL Server. Ternyata ada pesan error karena drive full alias sudah tidak space lagi di harddisk. Kok bisa ya? Padahal biasanya sistem tidak lebih dari 50 GB. Sedangkan kapasitas harddisk dgn RAID5 sekitar 350 GB. Langsung saja saya hunting file-file besar.

Ternyata ada file log yang besarnya haudzubillah. Mungkin 300 GB secara angkanya banyak banget tanpa separator ribuan. Begitu dihapus X Server & MySQL Server bisa dijalankan dengan lancar. Oh ya, sekedar catatan, file log ini berjudul .xsession.errors. Saya akan mencoba memantau ukuran file log ini beberapa hari ke depan. Jika memang terus membesar, berarti harus ada langkah antisipasi.

Mumpung sedang diperbaiki, sekalian saja update server. Setelah itu server dapat kembali bekerja dengan baik. Wah malam minggu yang sibuk. Dan kini hujan lebat… Untung tadi tidak jadi main ke Riau Expo, hehehe…