Menentukan Spesifikasi Server Virtual

Bekerja dengan hardware pas-pasan itu memang menyebalkan. Namun bukan berarti tidak bisa diakali. Dengan sedikit trik tentu bisa membuat pekerjaan kita jadi lebih menyenangkan. Dalam hal ini pekerjaan saya sebagai programmer sistem berbasis web.

Trik pertama adalah dengan membuat server virtual dengan Oracle VM VirtualBox. Saya membutuhkan server virtual ini karena terbukti platform LAMPP lebih gegas dari pada XAMPP walau pun dengan spesifikasi hardware rendah. Jadi saya pun membuat VM untuk server. Sedangkan editing script dan pengujian bisa menggunakan lingkungan Windows.

Trik kedua adalah untuk menentukan spesifikasi hardware yang dialokasikan untuk VM. Ini sangat penting karena jika spesifikasi terlalu rendah, maka kinerja server akan sangat lambat, yang artinya percuma saja bikin VM, mending sekalian pakai server Windows. Sedangkan jika spesifikasi VM terlalu tinggi, maka kinerja Windows (atau host) akan menjadi lambat. Jadi tidak optimal kerjanya, karena saya masih membutuhkan Windows untuk editor script dan pengujian dengan browser. Jadi saya perlu menentukan spesifikasi yang optimal, yang pas dengan kebutuhan saya.

Maka saya pun mencoba benchmarking sederhana dengan menjalankan query sederhana untuk menentukan jumlah RAM yang dibutuhkan dan penggunaan CPU yang paling optimal. Pengujian ini bisa dibaca di: “Spesifikasi Server Virtual Sesuai Kebutuhan”. Ternyata konfigurasi yang menurut saya paling optimal adalah RAM 748 MB dan penggunaan 2 CPU. Konfigurasi ini akan berjalan baik jika menggunakan profile “High performance” atau “Balanced”. Jika menggunakan profile “Power saver” performa server virtual akan nge-drop.

Anda punya opini atau saran? Mari kita diskusikan.

Iklan

LAMPP versus XAMPP

Sebagai developer aplikasi web, siapa sih yang tidak kenal LAMPP/XAMPP? Sekedar informasi LAMPP itu singkatan dari Linux, Apache, MySQL, PHP dan Perl, yang merupakan sebuah platform aplikasi berbasis web paling banyak digunakan di dunia. Sedangkan XAMPP adalah LAMPP versi MS Windows. Dengan XAMPP, instalasi, penggunaan dan pengelolaan platform ini menjadi mudah, semudah menekan tombol-tombol di XAMPP Control Panel.

Sejak menggunakan laptop pas-pasan untuk bekerja, daku sedikit ngomel tentang performanya. Rasanya kok lelet banget. Kalah dengan laptop lamaku yang hanya punya otak Intel Core 2 Duo dengan RAM cuma 2 GB tapi menggunakan Ubuntu 13.10. Daku pun penasaran, apakah benar laptop ATIV Book 9 Lite-ku ini memang performanya pas-pasan? Memalukan!

Lubuntu di Virtual Machine
Lubuntu di Virtual Machine

Maka daku pun mencoba melakukan uji coba sederhana, bagaimana performa laptopku ini jika menggunakan Linux? Maka daku pun men-setup Virtual Machine dengan Oracle VM VirtualBox untuk mesin Lubuntu 13.10 versi 32bit. Daku mengalokasikan Processor 2 Core, RAM 1280 MB dan Virtual Storage 20 GB. Setelah itu daku menginstall LAMP, Samba dan Open SSH via tasksel. Tidak lupa melakukan update OS dulu supaya semuanya lancar. Oh iya, sebagai tambahan, kita perlu install aplikasi dari VBoxGuessAddition supaya OS bisa berjalan dengan lancar di VirtualBox.

Supaya adil, daku memindahkan database dan aplikasi kami ke mesin virtual ini. Karena ukurannya besar, daku sampai ketiduran saat migrasi ke VM, maklum sudah jam 3 pagi, mata sudah 5 watt. Paginya dilanjut ngoprek dan semuanya selesai dengan baik.

Baca selebihnya »

Tech Talk: Optimasi dan Tuning Server

Sekali-kali ngomongin pekerjaan ya? Biar blog ini lebih nampak serius (*hayah*). Maka perkenankanlah saya menulis tech talk. Oh iya, tulisan ini juga dimuat di studewo.com.

Salah satu masalah yang kami hadapi saat ini adalah semakin melambatnya sistem, terutama di saat beban puncak di jam-jam tertentu. Sebenarnya kami sudah memiliki server yang cukup powerful, namun ternyata itu saja tidak cukup. Lalu kami pun berdiskusi dengan salah seorang konsultan sistem. Setelah berdiskusi dengan beliau, kami pun menganalisa sistem bersama tim.

Optimasi server

Kita perlu mengoptimasi peletakan beberapa folder sistem di partisi terpisah. Itu pun perlu diurutkan dengan mempertimbangkan harddisk mekanis yang memiliki kecepatan tertinggi dengan metode sequential. Partisi yang perlu dibuat dengan urutan: system, home, DB (khusus), var, swap.

Tentu hal ini tidak berlaku jika menggunakan SSD, karena SSD tidak memiliki komponen mekanis. Lebih lanjut, berdasarkan pengalaman, perlu ditentukan penggunaan RAID yang paling cepat dan aman. Tempo hari kami berhasil mengkonfigurasikan RAID50 yang kecepatannya 2x konfigurasi RAID5 biasa.

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…

Database Replication

Backup database itu penting. Tetapi membuat file backup database saja tidak cukup. Walau pun backup dibuat secara otomatis di suatu periode waktu tertentu yang mungkin dilakukan beberapa kali dalam sehari, itu tetap tidak cukup.

Mengapa tidak cukup? Karena backup hanya membuat copy atas database pada posisi tertentu. Katakanlah backup dibuat pada jam 00:00, sebenarnya data yang tersimpan hanya sampai jam 00:00. Seandainya terjadi kerusakan data pada jam 11:00, maka semua transaksi yang dilakukan antara jam 00:00 sampai jam 11:00 akan hilang. Terpaksa user harus memasukkan ulang transaksi antara jam 00:00 sampai jam 11:00 setelah backup di-restore. Bayangkan jika transaksi yang terjadi sangat banyak atau jika transaksi tidak memiliki bukti fisik seperti struk/nota transaksi. Memasukkan ulang transaksi bisa membuat user frustasi. Apalagi jika transaksi ini harus dilakukan urut lantaran sifat transaksinya panjang untuk 1 account sesuai dengan alur bisnis perusahaan. Jika ada transaksi yang tidak ter-input, maka perusahaan atau pelanggan bisa rugi.

Untuk itu perlu dibuat replikasi database. Topologinya adalah ada 1 master server dan minimal 1 slave server. Setiap kali master server melakukan transaksi, maka slave server akan melakukan transaksi yang sama. Jadi posisi database slave akan sama dengan master. Tentu ada delay beberapa waktu. Tetapi delay ini tidak terlalu membahayakan karena relatif cepat. Kalau pun slave mati, dia akan kembali melakukan sinkronisasi ke master pada posisi terakhir dia sinkronisasi. Slave akan mengejar transaksi master sehingga posisinya akan mendekati posisi transaksi di master.

Baca selebihnya »