MySQL : 3 prinsip dasar optimisasi

:: Ada klien saya yang minta agar server databasenya dipindahkan ke server lainnya yang ada SSD nya. Nampaknya ybs berharap bahwa SSD akan bisa menjadi solusi instan untuk lambatnya beberapa query yang ada.

Sayangnya, untuk berbagai query yang buruk, seringkali solusinya hanya satu : ganti dengan query yang bagus 🙂

Ketika ada banyak user yang melakukan banyak query, dan server menjadi lambat, SSD bisa menjadi solusi untuk mempercepatnya.
Karena kapasitas IOPS (Input/Output Per Second) yang jauh lebih tinggi daripada hard disk.

Namun jika hanya ada beberapa query dan lambat, maka SSD bukan solusinya. Query nya yang harus di optimize 🙂

Saya sudah pernah mengalami sebuah query yang buruk, yang bahkan berjalan sangat lambat di RAM 😀 kalau di SSD sudah pasti akan lebih lambat lagi, he he…. saya tuliskan sekilas disini : https://plus.google.com/+HarrySufehmi/posts/3daG2XMjDEt

Setelah dijalankan selama berhari-hari, masih belum juga selesai query nya. Edan.
Ketika saya cek, ternyata query tersebut sukses mensaturasi bandwidth memory – CPU :O

Jika kita bayangkan berbagai jalur data di dalam sebuah server seperti jalan tol, maka, jalur data antara memory – CPU adalah seperti jalan tol yang paling besar dan jalurnya ada ratusan buah 🙂 dan jalan tol ini sukses dibuat sampai macet oleh query ini 😀

Maka kemudian query ini di optimize, seperti dijabarkan di artikel yang di link sebelumnya; dan lalu dijalankan kembali.

Kini query tersebut selesai dijalankan dalam waktu 1 jam saja 🙂

Jika Anda sudah menonton film The Imitation Game, tentu ingat bagaimana frustasinya Alan Turing ketika mesinnya gagal terus menyelesaikan tugasnya dalam waktu yang disediakan.

Dan bagaimana tercengang ketika query nya mereka optimize – dan kemudian jadi bisa diselesaikan dalam waktu sebentar saja 😀

SSD bukan silver bullet. Bahkan SSD pun bisa dibuat overload oleh query yang buruk.
Seorang DBA yang berpengalaman bisa membantu Anda menemukan query-query yang buruk tersebut, dan membuatnya menjadi lebih cepat.

Pastikan bahwa DBA Anda paham prinsip dasar untuk troubleshooting soal performa :

(1) Profiling : ukur, tahu cara mengukur performa, dan menemukan titik-titik kelambatan.

(2) Tuning : berdasarkan data dari hasil profiling, kemudian DBA jadi bisa melakukan tuning ke query yang bermasalah – dan bukannya asal utak-atik setting saja….

(3) Benchmarking : setelah selesai tuning, kemudian bisa melakukan benchmarking, dan bisa menyampaikan berapa besar tambahan performa yang berhasil didapatkan.

Tanpa urutan 3 langkah ini, maka proses tuning yang dilakukan adalah serupa dengan praktek perdukunan 🙂 gaib & mistis.

Semoga bermanfaat.



MySQL : Make Your Query Runs (at least) 16800% Faster. :: One of our data…
MySQL : Make Your Query Runs (at least) 16800% Faster. :: One of our data analyst was asked to analyze a bunch of data from 2 tables. One of it  contained… – Harry Sufehmi – Google+

Post imported by Google+Blog for WordPress.

90 thoughts on “MySQL : 3 prinsip dasar optimisasi

  1. keren pak.. mahal sekali pengalaman ini,.. saya juga masih belajar untuk tuning naikin sama ngatasin problem di query mysql ini… terima kasih saringnya.. (y)

  2. DAPATKAN PASARAN DAN ODDS TERBAIK DIASIA
    1 ID UNTUK SEMUA PERMAINAN DIDAUN88
    CLICK : http://WWW.DAUN88.COM
    MIN BET BOLA: 10RB MIX PARLAY: 5RB
    √ MIN DEPO 50 DAN WD 100RB
    √ COMISSION SPORTSBOOK 0,25%
    √ FREE BONUS DEPOSIT 3% – 100rb
    √ FREE BONUS DEPOSIT 5% – 5JT
    √ FREE BONUS DEPOSIT 7,5% – 10JT
    √ CASHBACK UP TO 15%
    √ Proses DP/WD ± 3menit

    FOR JOIN DAUN88
    CLICK : http://WWW.DAUN88.COM
    CONTACT US:
    ADD BB: 2BC26AF6

  3. jasa pasang antena
    jasa pasang antena tv
    agen antena tv digital
    ahli pasang antena tv
    jasa pasang camera cctv
    jasa pemasangan camera cctv
    camera cctv
    harga cctv
    cctv jakarta
    instalasi camera cctv
    instalasi penangkla petir
    toko agen parabola
    toko ahli pasang parabola
    toko antena tv digital
    toko camera cctv
    daeler camera cctv
    daeler antena tv
    daeler parabola digital
    daeler parabola venus
    daeler penangkal petir
    pusat instalasi penangkal petir
    penangkal petir konvenional
    penangkal petir radius
    jasa pemasangan penangkal petir
    agen penangkal petir
    ahli penangkal petir
    ahli instalasi penangkal petir
    ahli pemasagan penangkal petir

  4. Sinyalindo
    merupakan perusahaan yang bergerak di bidang Jasa pemasangan camera cctv, penangkal petir,
    parabola dan antena tv, Melayani pemasangan Se Indonesia.
    Kami berpengalaman dalam layanan Jasa Installasi Pemasangan CCTV dan Spesialis Pemasangan Parabola,
    matv, antena tv untuk siaran televisi anda, dan kami melayani setting internet + Ip address di Jakarta
    dan kota besar lainnya di Indonesia.

    Hubungi Kami Sekarang Di :

    Call : (021) 6387 0083 – 6319 644 (HALO Sinyalindo)
    Mobile : 0821 2280 5174 – 0819 3275 1414
    Email : cs.sinyalindo@yahoo.com
    Webs :
    http://www.sinyalindo.co.id

  5. +Ardo Nainggolan​​ Yang paling penting adalah mengusahakan agar benchmark yang dilakukan memang sesuai dengan kebutuhan 🙂

    Misalnya, pada sistem pendaftaran murid online, maka benchmark a/l harus fokus ke performa WRITE / INSERT.

    Pada situs berita online, mungkin lebih tepat jika benchmark fokus ke performa READ / SELECT.

    Dst dst.

    Software benchmark nya sendiri saya cukup pakai mysqlslap.

    Atau jika perlu memeriksa beban yang berasal dari webserver ke MySQL, maka kadang saya menggunakan ab (apache benchmark).

    Semoga cukup menjelaskan sebagai penunjuk jalan.

  6. dear bapak harry saya ingin bertanya lagi,
    bapak pakai mysqlslap di OS apa? apakah benar mysqlslap tidak bisa dipakai di Windows?

  7. Saya menjalankan mysqlslap di Linux. Maaf kebetulan saya sudah cukup lama tidak menggunakan Windows, jadi saya juga belum pernah menggunakan mysqlslap disitu.

  8. dari sumber yang saya baca ternyata mysqlslap tidak bisa digunakan di Windows. Saya pribadi familiar dengan Windows. Apakah bapak punya tutorial menggunakan mysqlslap di Linux?

  9. bacaan yang sangat bermanfaat, sebagai anak IT saya acungi jempol untuk tulisan mas… merasa semakin banyak tau 🙂

  10. fantastic points altogether, you just won a logo new reader. What could you suggest in regards to your post that you made a few days in the past? Any certain?

Leave a Reply

Your email address will not be published. Required fields are marked *