Barusan sekilas saya memeriksa server database client, ternyata, server MySQL nya ini sudah nyaris menghabiskan seluruh bandwidth link 1 Gbps nya ! 😀
Tidak kebayang akan seperti apa kacaunya jika cuma menggunakan link 100 Mbps 😉 fiuh.Â
Di sisi lain, suksesnya server MySQL ini men saturasi link 1 Gbps menunjukkan performa yang handal — servernya sendiri bekerja dengan santai (nyaris tidak ada query yang > 1 detik). Namun, sukses melahap seluruh bandwidth Gbps yang ada.
Network nya yang menjadi bottleneck nya 🙂 bukan lagi servernya.
SOLUSI CEPAT : aplikasi client diubah settingnya, agar menggunakan flag MYSQL_CLIENT_COMPRESS
HASIL : traffic database drop sekitar 20% 🙂
SOLUSI KOMPREHENSIF :
# Memisahkan database-database yang ada ke beberapa server MySQL = traffic jadi terbagi ke beberapa server / link Gbps
# Seluruh aplikasi menggunakan flag MYSQL_CLIENT_COMPRESS
http://www.mysqlperformanceblog.com/2007/12/20/large-result-sets-vs-compression-protocol/
Large result sets vs. compression protocol – MySQL Performance Blog
mysql_connect() function in PHP’s MySQL interface (which for reference maps to mysql_real_connect() function in MySQL C API) has a $client_flags parameter since PHP 4.3.0. This parameter is barely kno…
This post has been reshared 2 times on Google+
View this post on Google+
Post imported by Google+Blog for WordPress.
Jadi penasaran query2 seperti apa yang melahap 1Gbps itu.. Kalo query nya return data lebih selektif (bukannya select *) apa bakal membantu…
Ndak terlalu pengaruh juga sih…. milyaran records, 500 GB total data, dan 3000+ query / detik, hihihihi…. #glek
weks… pantes…Â nggak coba pake 2 NIC di bonding?
Belum berani… kalau sudah high load kayak begini, kena bug dikit biasanya langsung aneh-aneh luar biasa, hehe.
Sepertinya kita akan spread saja database-database di dalamnya ke beberapa server 🙂
Mantap kang !
hebat gan, lanjutkan, hehehehe
mantab gan, salam sukses