Thursday, May 10, 2012

Masalah "Out of Resource When Opening File" di MySQL

Barusan ngalamin error di database backup. Error yang dimunculkan adalah "Out of resources when opening file './database_name/table_name.MYD' (Errcode: 24) (23)".

Seperti biasa gw cari beritanya di google. Dan beberapa sumber (stackoverflow, ) memberi solusi dengan cara memperbesar nilai open-files-limit sebab nilai default 1024 dianggap terlalu kecil untuk transaksi-transaksi database.

Namun, gw pikir solusi itu tidak dapat digunakan untuk database backup. Kenapa? Karena paramater open-files-limit di database backup telah diperbesar menjadi 45970. Artinya gw butuh solusi lain.

Lalu gw teringat dengan persoalan serupa di database yang digunakan untuk serving ads. "Out of resource" terjadi karena DBMS membuat file descriptor untuk setiap query. Solusi yang kemudian digunakan untuk hal ini adalah dengan memaksa DBMS menutup atau melepas file-file descriptor tadi dengan perintah flush. 

Maka gw coba mengeksekusi perintah: FLUSH QUERY CACHE; FLUSH TABLES; FLUSH TABLES WITH READ LOCK; Dan, voila, berhasil ^^

PS:
Ada juga alternatif lain yang mungkin bisa dipertimbangkan untuk menangani hal ini:

  1. Memperkecil nilai variable table_cache (sumber forum mysql)
  2. Memperkecil nilai variable max_connection (sumber forum mysql)
Tentunya solusi alternatif ini perlu dipertimbangkan sesuai dengan keadaan database/aplikasi

Saturday, November 26, 2011

OpenVPN connected tapi gagal connect ke VPN

Beberapa waktu lalu, gw menginstall openvpn untuk keperluan koneksi ke jaringan VPN kantor. Setelah bersusah payah men-setting openvpn (dengan menyediakan file config.ovpn, sertifikat ridwan.key, ridwan.crt) akhirnya gw berhasil tersambung ke jaringan VPN kantor.

Sayang beribu sayang, walaupun dinyatakan telah tersambung ke jaringan VPN kantor, gw ga bisa mengakses database server maupun aplication server. Gw coba ping X.X.X.X dan hasilnya adalah selalu request timed out. Akhirnya gw iseng membuka log openvpn. Dan di sana dikatakan "ROUTE: route addition failed using CreateIpForwardEntry: One or more arguments are not correct.   [if_index=21]".

Akhirnya mencari ke internet, dan berdasarkan penerawangan mbah Google, didapatlah 2 halaman yang memberikan solusi serupa (halaman ini dan ini). So ternyata yang perlu dilakukan hanyalah menambahkan 2 line berikut ini di file configuration file (ovpn file)
route-method
exeroute-delay 2

Friday, November 18, 2011

Segmentation Fault di PHP

Tadi siang tiba-tiba file bot PHP gw mati. Setelah gw cek, ternyata ada 1 line code yang selalu menyebabkan file tersebut mati, yaitu str_get_html . Matinya pun aneh, berenti tiba-tiba tanpa permisi ataupun teriak-teriak di log. Akhirnya kucoba memasang try-and-catch-exception, eh anehnya tetap lolos.

Pusing begitu, akhirnya bertanyalah ke mbah google, stackoverflow, dll. Disarankan untuk verbosing, aku memasang kode berikut ini:

error_reporting(E_ALL);  
ini_set('display_errors', 1);

Dan voila, muncullah si brengsek satu itu "segmentation fault". Wuahhh, langsung deh teringat dengan nostalgia masa kuliah, ketika memprogram dengan bahasa C ^^. Ternyata, segmentation fault itu terjadi akibat PHP kehabisan jatah memori untuk memproses string kode HTML menjadi linked-DOM-object.

Akhirnya diputuskan, kalau ternyata panjang stringnya udah keterlaluan, maka ga usah diparse menjadi linked-DOM-object.

So, kode programnya menjadi seperti ini:


$html_code_str = get_html_code($link);
$html = null;
if (strlen($html_code_str) < 500000) {
    $html = str_get_html($html_code_str);
} else {
    print "exceed max string length => unprocessed";
}

Wednesday, October 12, 2011

Tekanan Ban Motor

Tiap kali gw isi bensin di pompa bensin yang menyediakan fasilitas isi angin gratis (seperti "beberapa" Pertamina PASTI PAS, Shell dan Total) gw selalu bingung "berapa sih tekanan angin untuk ban motor gw?". Well, setelah berbulan-bulan selalu diganggu dengan pertanyaan itu, akhirnya tadi siang tercetus ide cemerlang, yaitu cek di internet. Hahaha ide basi ya :p

Anyway, untuk tekanan ban motor yamaha mio gw, yang gw lupa berapa ukuran diameter bannya. Ban depan bertekanan 200 kPa atau 2,00 kgf/cm2 atau +- 29 Psi. Ban belakang bertekanan 225 kPa atau 2,25 kgf/cm2 atau +- 32,63 Psi. (Sumber: yahoo_answer dan asknumber).

Lalu setelah gw googling lebih lanjut, gw berhasil menemukan saran bahwa, tekanan ban ketika musim kering dan musim hujan sebaiknya berbeda. Di musim kering, setting di atas dapat digunakan, namun untuk musim hujan, ada yang menyarankan untuk mengurangi tekanan ban depan menjadi 27 Psi dan ban belakang menjadi 30-31 Psi supaya ban lebih "menggigit" atau "menapak" jalanan.