MySQL Performance :: Panduan Utama Tentang MySQL & Hardware Yang Dibutuhkan + MySQL Bantai Memcached & NoSQL !

Panduan Utama : MySQL & Hardwarenya Yang Diperlukan

Beberapa client utama saya adalah pengguna MySQL. Software yang mereka gunakan memanfaatkan MySQL sebagai databasenya dengan intensif, dan dengan beban kerja yang banyak & berat.

Karena itu, semua hal seputar topik performa MySQL sangat menarik perhatian saya.

Secara rutin saya & tim kami melakukan berbagai penelitian seputar kinerja MySQL.
Untuk beban kerja tertentu, bagian sistim yang mana yang menjadi bottleneck ? Bagaimana cara melenyapkan bottleneck tersebut ? Bagaimana meningkatkan response time dari MySQL ? Bagaimana cara meningkatkan kapasitas pemrosesan datanya ? Dan seterusnya.

Karena itu saya cukup terkejut gembira menemukan file presentasi berikut ini — dimana berbagai isinya selaras dengan banyak dari temuan kami selama ini. Maka, Anda akan dapat memanfaatkan informasi di dokumen ini seketika; dan tidak perlu sampai melakukan riset selama bertahun-tahun seperti yang kami lakukan secara rutin:

[ Linux & Hardware Optimizations For MySQL ]

Berikut ini adalah beberapa poin-poin ringkasannya :

  • Hardware RAID bisa mengakibatkan performa yang buruk : Tidak setaranya kualitas berbagai produk hardware RAID yang ada jadi bisa menyebabkan justru turunnya performa dibandingkan jika tanpa RAID. Prosesor yang melempem, firmware yang buggy / tidak berkualitas, dst — semua ini dapat menyebabkan penurunan kinerja yang cukup serius. Karena itu sudah cukup lama kami menyarankan untuk melakukan RAID secara software, terutama RAID0 / RAID10.
  • Banyak RAM = Kinerja Naik : MySQL dapat memanfaatkan RAM yang ada untuk banyak hal — mengatur agar proses INSERT menjadi sequential ke disk (sangat signifikan untuk harddisk / bukan SSD), “join” buffer, cache, dst.

    Pasang RAM sebanyak-banyaknya di server database Anda, dan lalu atur setting MySQL, agar bisa memanfaatkan RAM yang ada tersebut.

  • RAID0 / RAID10 adalah cara termurah untuk meningkatkan kinerja disk
  • InnoDB lebih kencang untuk Write-Ops : InnoDB melakukan proses row-level locking pada saat write — dan bukannya table-level locking seperti MyISAM. Pada MyISAM, jika sedang ada proses Write (insert / update / delete) maka seluruh operasi lainnya dihentikan oleh MySQL. Karena itu, pada table MyISAM yang proses Write nya cukup banyak, performanya bisa langsung anjlok dengan sangat drastis.
  • SSD SATA lebih lambat daripada SSD PCI-Express : kadang bisa lebih dari 2x lipat.
  • BBWC = Battery Backed-up Write Cache : satu kelebihan Hardware RAID adalah BBWC. Dengan BBWC, maka proses Write bisa menjadi jauh lebih cepat. Jangan lupa untuk mematikan dulu write cache di masing-masing disk nya sendiri.

Dan masih ada sangat banyak lagi tips & informasi berguna lainnya, yang sulit untuk ditemukan dimana-mana.
Berbeda dengan berbagai artikel di banyak situs, dokumen ini sangat padat isinya, dan tidak bertele-tele. Straight to the point. Sampai kadang bisa kebingungan sendiri membacanya 🙂

Sangat direkomendasikan untuk mereka yang banyak bersentuhan dengan MySQL.

Untuk melakukan sendiri berbagai proses profiling & optimization nya, saya juga bisa merekomendasikan dokumen ini : [ Performance TUning & Stabilization Tips ]


MySQL Bantai Memcached & NoSQL : 750.000 query / second !

Beberapa tahun terakhir ini kita sering mendengar bagaimana MySQL itu lambat. Bahwa musti pakai Memcached baru bisa agak cepat / meningkat kapasitas (pemrosesan data) nya. Bahwa untuk jumlah query yang sangat banyak, maka musti membuang MySQL dan pindah ke NoSQL.

Yoshinori Matsunobu membuktikan bahwa MySQL sebetulnya amat kencang – dengan Plugin “HandlerSocket”, maka MySQL jadi bisa memproses 750.000 query per detik ! Sementara memcached hanya bisa mencapai 420.000 qps, dan Yoshinori belum berhasil menemukan produk NoSQL yang performanya bisa menyaingi ini.

Secara ringkas – HandlerSocket adalah plugin yang memungkinkan kita untuk mengakses database MySQL secara direct / bypass layer SQL internalnya. Jadinya seperti NoSQL juga, hanya saja ini di MySQL – bukan menggunakan database server lainnya.

HandlerSocket ini, karena berbasis MySQL, jadi memiliki berbagai kelebihan berikut ini dibandingkan dengan software NoSQL biasa :

  • Databasenya bisa diakses secara normal : karena mengakses database MySQL, maka datanya tetap bisa diakses secara normal / dengan perintah / query SQL biasa. Contoh: pembuatan laporan, tetap bisa menggunakan query SQL biasa.

    Tidak seperti software NoSQL lainnya; dimana seluruh akses harus berupa perintah NoSQL.

  • Crash-safe : HandlerSocket di desain untuk menggunakan database engine InnoDB di MySQL.
  • Semua keuntungan operasional MySQL : karena HandlerSocket berjalan di dalam MySQL sebagai plugin, maka semua manfaat MySQL bisa didapatkan — replication, online backup, SQL, internal cache / buffer pool, monitoring, SHOW xxxx STATUS, dst.
  • Tidak perlu merubah MySQL : karena berupa plugin, sehingga langsung kompatibel dengan semua versi MySQL.
  • Kompatibel dengan semua engine database di MySQL.
  • Dll

Siapa sangka ternyata kita tidak perlu pindah ke software NoSQL untuk mendapatkan performa yang tinggi ? Terus gunakan saja MySQL + HandlerSocket plugin.


Penutup

Berbeda dengan mitos & khayalan yang lazim ada, MySQL sebetulnya mampu memberikan kinerja yang sangat tinggi, dengan tetap menjaga integritas data kita.

Dan di luar dugaan, ketakutan saya paska akuisisi MySQL oleh Oracle tidak terjadi. MySQL tidak dibunuh oleh Oracle – tetapi, malah dikembangkan dengan jauh lebih cepat & mengesankan.
MySQL 5.5.x & MySQL Cluster 7.2.x adalah produk-produk MySQL yang paling impresif yang pernah saya temui. InnoDB di MySQL 5.5.x sudah sangat advanced dibandingkan versi sebelumnya. Dan MySQL Cluster 7.2.x akhirnya bisa menyimpan data di disk. Dan banyak kemajuan signifikan lainnya.

Pengetahuan mengenai seluk-beluk MySQL akan memungkinkan kita untuk membuat performanya melesat jauh dari para kompetitornya.

Bahan bacaan lebih lanjut :

282 thoughts on “MySQL Performance :: Panduan Utama Tentang MySQL & Hardware Yang Dibutuhkan + MySQL Bantai Memcached & NoSQL !

  1. It really is extraordinary to have a great knowledgeable human being throughout to who you will get many initiative. On earth today, no-one unquestionably loves you concerning demonstrating people began seeing on this subject theme. Exactly how fortunate My organization is to possess today discovered a very fantastic site when this particular. It’s individuals similar to anyone that produce authentic variation these days throughout the techniques these people come up with.

  2. Artikel tentang MySQL Performance :: Panduan Utama Tentang MySQL & Hardware Yang Dibutuhkan + MySQL Bantai Memcached & NoSQL ! menarik banget dan menambah wawasan kita, website
    saya pun http://www.pakaianbandungmurah.com/ masih banyak kekurangannya
    terutama dalam meningkatkan trafik. Oiya Gan berbagi dunk cara agar website
    http://www.pakaianbandungmurah.com/ bisa kurus Alexanya terus bagaimana juga
    agar Pagerank bisa tinggi seperti Blog gan yang sudah bagus Pageranknya.

    Mohon Masukannya buat http://www.pakaianbandungmurah.com/ agar bisa menjadi
    website yang keren kayak blog ini.itunggu masukannya yah buat http://www.pakaianbandungmurah.com/.

    Terimakasih !!!

  3. Hebat pengetahuannya… terima kasih info tentang MySQL nya bro…
    kayanya bakal bisa kaya kalo benar-benar menguasai MySQL lho… bener gak gan?

  4. ternyata begitu..waduh. belum paham betul ini.. ada artikel tentang pengertian MySQL secara mendasar ?

  5. server saya juga sering error karena load mysql, pengen cobain plugin nya 🙂

    wish me luck

  6. memang info yang sangat padat. Mungkin saya harus membaca bebarapa kali untuk benar-benar paham… trims sharingnya..

  7. informasi yang sangat bermanfaat pak,
    kebetulan saya juga sering bikin system dengan memakai db mysql. minta izin print untuk dokumentasi kerja saya. terimakasih

    wilujeng ngeblog

  8. trim’s ya gan info MYSQL’y…,sy smpai skrank blom bisa2 nie

  9. wah tentang MySQL tapi saya masih newbie..
    lumayan buat pembelajaran…. makasih infonya

  10. Makasih sharingnya sob, saya masih awam dalam dunia komputerisasi untuk itu saya harus banyak belajar dari agan. 😉

  11. saya kurang paham dengan my SQL ini.. dan skrang makin ga paham hehe.. yg pasti ini ada d cpanel yg juga ga saya pahami hehe

  12. dulu saya pernah di ajarin MySql,
    tapi sampe sekarang saya belum paham juga
    terimakasih atas infonya

  13. wahhh,,, thankz gan sudah saring infonya, ,sebagai pelajar jurusan yang begituan, itu sangat berguna sekali,,,

  14. bagus mas tutorialnya sangat bermanfaat. terima kasih sudah berbagi. semoga tambah sukses

  15. rumit juha ya…
    klo toko online saya yang khusus jual obat pasutri cuma pakai xampp dan dreamweaver untuk editor
    maklum gak pakai database cuma tampilan halaman dan gambar seperlunya…
    mungkin kedepan klo pakai database (untuk member) baru pakai MySQL.

  16. Kunjungi dan hubungi serta bisa membeli produk xamthone plus pada agen resmi xamthone plus Samarinda :

    1. Deny tombatu
    jalan pemuda III N no 23 samarinda hp. 08125508287
    2. Melandya Soo
    Jl.Ir.Sutami Gg.Pusaka RT.22 No.41 Kel.Karang Asam Ulu Kec.Sungai Kunjang,SAMARINDA 75126
    No.HP : 081346363265
    3. Wiwik Wahyuni
    Jl. Cipto mangunkusumo Rt.011 Kel. Sengkotek Kec. Samarinda Seberang Kota Samrinda Kaltim
    Hp. 085250735557
    4. Abu Ahmad ( Asy-Syifa )
    Jl. Biawan No. 13 RT. 07 Kel. Sidomulyo SamarindaKal-Tim
    081347376882
    5. Rubayanti Mamonto,
    Jl. Jakarta Perum Korpri Blok. CI no.07 Rt. 044 Kel.Loa Bakung Sungai Kunjang Samarinda Kaltim
    Hp. 081346226999
    6. Rusdianto
    d/a Jl. Suriansyah no.22 RT 08 KARANG MUMUS, SAMARINDA ILIR, SAMARINDA, KALTIM.75113 ,
    Telp. 08115010215
    7. Iwan Lukito,
    Perum Kledeng mas baru blok BV.21 Samarinda seberang
    Hp. 081253470836 atau telp 0541-260695

  17. waduh lumayan pusing aja ya….tapi gpp tetep semangat saya belajar linuxnya
    makasih udah share

  18. Makasih berbagi infonya, sekarang semakin paham, dan semangat belajar-belajar dan terus belajar

  19. Ingat saat buat web tanpa mesin database seperti MSQL, melelahkan harus membuat halaman berulang-ulang.. makasih linknya..

  20. setelah diakuisisi oleh oracle jadi tambah sip yah mas Mysql. jadi lebih powerfullv:D

  21. setelah membaca artikelnya mas manfaatnyabesar juga ya mempercepat akses SQL tapi sepertinya sulit buat yg sql nya masih tingkat tk kaya kami. ngomong ngomong SQL kan open source ya kok mau ya oracle mengakuisisi, apa ada pemasukannya

  22. untuk orang newbie di mysql ane rada2 bingung …. kayaknya harus back to basic dulu sayanya… thanks mas

  23. untuk orang newbie di mysql ane rada2 bingung …. kayaknya harus back to basic dulu sayanya…

  24. wah asik neh infonya…hem tpi ksulitn yg djumpai sampai saat in saat bermain dg sql php my admin adlah s/w compilator yg kadang tdak mau diintal di semua komputer, misalnya xamp..kadang ngambek diintal di komputer, tapi kadang jga lancar, knpa ya ?

  25. thankyu..informative.. [;)] Great post!.. keep the posts coming & i will keep reading them. thank for help them. Great blog dude! I just linked to this post on my Delicious. Keep it up!

    By:http://www.batamia.com

  26. woow ini yang saya cari cari
    MySQL Performance :: Panduan Utama Tentang MySQL & Hardware Yang Dibutuhkan + MySQL Bantai Memcached & NoSQL !

  27. 1 . masuk akal sebab PCI-Express didesain berbeda dgn SATA yang tidak harus mentransfer data secara simultan. Tetapi pemakaian PCI Express sebagai bus storage adalah pemborosan dimana seluruh daya yang dipasok akan tetap habis diambil tanpa penghematan demi kelancaran perpindahan data. Itu adalah hukum mutlak utk i/o PCI & kelasnya…

    2 . saya benar2 bingung menentukan kapan harus menggunakan InnoDB & kpan harus menggukan MyISAM 😀 maklum ingusan soal ginian

  28. Yet this is a story not just of one girl, but of a generation of young people working creatively to make this a better world.

  29. Baru tau kalo MySQL + HandlerSocket plugin bisa menghasilkan performas sebagus NoSQL ckckckck…
    Thanks, mantap ulasannya so comprehensive !

  30. waduh, sepertinya memeng harus di baca berulang ulang
    tentang mySQl, membutuhkan hardware yang canggih juga sepertinya ya, nanti balik lagi deh >.<

  31. segala sesuatu jika di manage dengan baik akan bermanfaat secara maksimal. begitu juga MySql.
    Masalah kekurangan dan kelebihan semua pasti punya, tinggal bagaimana kita memanfaatkannya saja.

  32. saya gak tau banyak tentang MySql. tapi udah baca ini jadi ada yang ngerti dikit,hhehe.. makasih infonya, sangat bermanfaat (nubie) 😀

  33. wuah ternyata pengetahuan lebih dalam mengenai mysql sangat banyak yah, mudah2an blog ini terus update dan ada tutorial2t ttg mysql ini 🙂

  34. saya kurang ngerti sama mysql. mungkin belum tertarik kali ya.
    tapi thx’s infonya, sedikit nancep di otak ane.. 😀

  35. Gan mau nanya. Kalau blogspot bisa di buatin hosting gak. Aduh, gimana ya jelasinnya. Intinya bikin blog di blogspot tapi di hosting kaya wordpress. Maksudnya biar bisa edit sesui kebutuhan.

  36. Good info and right to the point. I don’t know if this is really the best place to ask but do you folks have any ideea where to get some professional writers? Thank you 🙂

  37. Dulu sempat belajar tentang MySQL, tapi ehh nyampe sekarang masih kurang ngerti juga .. hehe
    makasih buat infonya ..

  38. informasi yang sangat bagus walau saya sendiri belum begitu mengerti tentang Mysql, tapi ulasan ini cukup menambah pengetahuan saya tentang mysql

  39. php + mySql bagaikan suami istri, meski tiada sempurna, namun kombinasi keduanya terbukti paling powerfull. 80% Web menggunakan kombinasi keduanya, selebihnya menggunakan salah satu dari keduanya, dan sedikit sekali yang tidak menggunakan mereka.

  40. Heheh, sebenarnya cukup membingungkan, karena saya hanya lulusan smk dan jurusan seni,… taoi nice post mas

  41. wahh..ilmu yg sangat bermanfaat ini saya izin save halam ini y…biar kapan2 ketika mau belajar MySQL mampir kesni

  42. pengetahuannya sangat menakjubkan, saya sangat menyukainya. terus kembangkan imajinasi dan kreatif anda dalam membuat sebuah artikel yang jauh lebih bagus dari pada sebelumnya.

  43. hemmm bagus sekali. thanks atas infonya. dengan pemberitahuan dari anda jadi saya bisa mengetahuinya.

  44. pernah sih make MySQL, tapi saya tidak terlalu memahaminya. dengan tulisan ini memberikan pemahaman yg lumayan banyak. terima kasih

  45. Memang database sangat dibutuhkan untuk website yang menggunakan CMS, selain sudah terintegrasi, semua data bisa disimpan dalam database yang terstruktur. Tutorial ini sangatlah menarik dan bermanfaat. Terima kasih

  46. Mantab!!!! seratus jempol untuk penjelasannya,, Sangat luarbiasa.. Makasih banyak,, ini bisa ku jadikan pembelajaran.. Salam kenal

  47. wah segala sesuatu aplikasi yang ada di pc kudu database ya,mkanya mysql jadi wajib bagi yang mau jadi tukang coding sprti si abang 🙂 mantep dech ach 🙂

  48. saya juga baru belajar sql nih gan, tp tetep aja pusing, ahahaa….namun dengan membaca postingan ini saya sedikit demi sedikit bertambah pengetahuannya gan…

  49. Ilmunya sangat bermanfaat bos, cuman otak ane nggak nyampe situ, pusing kalo ngurusing yang gituan, xixixixi

  50. makasih telah berbagi ilmu yang sangat bermanfaat, dan bia menambah pengetahuan saya tentang bahasa pemrograman..

  51. Wah ilmu saya belom sampai kesitu,,, mysql aja belom begitu paham.. 😀

    750.000 query / second ? wah mengerikan sekali..

  52. artikelnya sangat membantu bang harry. saya sendiri sedang mencoba performa mysql dibantu dengan plugin mem-chaced. tetapi masih terbentur dengan kemampuan atau skill untuk membagi2 memchached tersebut. mungkin ada solusi untuk site spring bed kami? trims

  53. terima kasih atas info dan tutornya, sangat bermanfaat, menambah pengetahuan…,

  54. pelajaran yang sangat padat. agak susah untuk memahaminya namun tetep saja menyimak. thanks mas bro.

  55. sksnya kelas tinggi menurut saya, tapi saya akan pelajari lagi mysqlnya supaya bisa memanfaatkan ilmu dari anda

  56. My SQL use full free. I use My SQL create database to program combine with the Java programing language. Not use Oracle.My SQL have function popular for customer and experision full free. If you use Oracle, you play the cost very hight. MySQL is a good solution of you

  57. pernah aku sesekali ditawari oleh temenku untuk belajar tentang My SQl tp aduh belum apa-apa aku udah nyerah sob…kayaknya belar My SQL itu bukan jurusan ku dekh…tp artikel ini mungkin jauh lebih bermanfaat lagi buat mereka2 yang suka dengan My SQL…

  58. ohh jadi begitu yah step by step nya 🙂 wah makasi bgt yah atas ilmu yg bermanfaat ini 😀 senang sekali 🙂

  59. Kata temen ane anak TI My Sql tuh mudah di bobol… tp mpe skrg ane tetep milih my SQL banyak kemudahannya n banyak temn2 yg pd tau

  60. saya kurang ngerti euy yang kayak begituan, dulu pernah belajar tapi sekilas dan lupa lagi…hah mudah dibobol? yang bener tuh?
    btw web nya dofollow ya…sama kayak blog saya yang dofollow…kunjungi balik ya…oke terima kasih…salam sukses

  61. saya pengen sekali bisa mysql , dan saya lagi belajar lewat panduan panduannya tanks ya informasinya

  62. performa dari suatu database itu tidak hanya dari segi arsitektur dan platform db yg digunakan. bahasa yg digunakan juga berpengaruh.

    semisal anda menggunakan php + mysql, di bandingkan dengan nodejs + mysql performa phpmysql pasti kalah jauh.

  63. Wah Makasih atas tambahan ilmunya ya Admin
    dengan ini jadi lebih paham dengn blog
    seperti blog wordpress saya Mutiara Cinta Mohon Riview nya ya Sob barang kali ada perbaika Sana-Sini

  64. informasi yang sangat bagus walau saya sendiri belum begitu mengerti tentang Mysql, tapi ulasan ini cukup menambah pengetahuan saya tentang mysql

Leave a Reply

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