Benchmarking Kinerja Bare Metal Kubernetes Lyrid
Handoyo Sutanto
5 menit
14 Maret 2024

Mengapa Ada Tolok Ukur Kinerja?

Saya sering ditanyai hal ini ketika membangun aplikasi atau solusi cloud: “apa yang dibayar pelanggan ketika mereka menjalankan aplikasi di cloud?”. Jawaban sederhananya tentu saja dengan menyewakan “ruang” di datacenter untuk komputasi, penyimpanan, dan jaringan. 

Namun jika anda menggali lebih dalam, salah satu hal tersulit saat beroperasi di cloud adalah memahami dan membandingkan kinerja cloud computing dari satu penyedia cloud dengan penyedia lainnya. Banyak penyedia cloud biasanya membandingkan jumlah CPU satu sama lain, seolah-olah keduanya sama. Bukan itu masalahnya, dan disinikami akan menunjukkan lebih jauh apa yang kami maksud.

Ada beberapa contoh variabel berikut yang membedakan sistem yang biasanya dipublikasikan (namun tidak terbatas pada hal ini saja):

  • Jenis CPU/Memori dan kecepatan jam
  • Kinerja penyimpanan maksimal (IOPS) dan antarmuka
  • Karakteristik dan antarmuka jaringan (publik/pribadi)
  • Hypervisor

Selain itu, ada beberapa contoh variabel yang tidak diketahui yang dapat memengaruhi kinerja Anda (namun tidak terbatas pada):

  • VM tetangga di host yang sama untuk lingkungan tervirtualisasi
  • Pemeliharaan/pencadangan/replikasi sistem latar belakang yang tidak dapat Anda kendalikan
  • API infrastruktur dalam sistem, analitik dan pemantauan.

Pada akhirnya, ada satu hal yang paling dapat dipahami oleh kebanyakan orang: Kinerja berbasis Harga dan Kasus Penggunaan. Kinerja harga adalah berapa banyak Anda membayar untuk layanan tersebut, sedangkan kinerja berbasis Kasus Penggunaan adalah bagaimana kinerja sistem dalam kasus penggunaan tertentu. Salah satu contohnya adalah dengan menjawab pertanyaan ini: Berapa banyak kueri SQL per detik yang dapat dikendarai sistem dengan jumlah X$ yang akan saya keluarkan untuk menjalankan sistem? 

Mari kita jelajahi sedikit. Dan untuk itu, mari kita jelajahi sesuatu yang lebih murni - seperti baremetal hardware.

Baremetal hardware adalah aset yang relatif diabaikan. Memanfaatkan bare metal hardware sendiri memberi pengguna pengalaman hosting yang hemat biaya bagi mereka yang bekerja dengan aplikasi intensif data yang memprioritaskan privasi data, latensi rendah, dan pemrosesan yang sangat cepat. 

Terlepas dari manfaat penggunaan baremetal hardware, banyak orang mengalami kesulitan dalam mengakses mesin ini melalui data center, terutama jika mereka masih pemula di bidangnya. Melalui kemitraan kami dengan beberapa pusat data, platform Lyrid dapat ditawarkan selain baremetal hardware, memobilisasi mesin ini untuk inovator di semua tingkatan. Menawarkan platform Lyrid di atas mesin bare metal memberi Anda semua manfaat dari manajemen infrastruktur mesin, Kubernetes, dan Lyrid, semuanya dalam platform yang ramah pengguna. Untuk menunjukkan kekuatan sebenarnya dari Kubernetes bare metal dalam hal pemrosesan dan penghematan biaya, kami menjalankan pengujian tolok ukur kinerja.

Dengan berkembangnya lanskap vendor cloud setiap hari, kami ingin menunjukkan bagaimana platform dan mesin kami bertahan dalam ruang yang kompetitif ini, dan apa arti temuan kami bagi Anda. Pembandingan internal kami membandingkan kinerja instance ubuntu kami di tiga basis data berbeda, semuanya dihosting dalam platform Lyrid dan mesin bare metal terkait, sambil berupaya mengidentifikasi kesenjangan kinerja. Hasilnya menunjukkan performa database, yaitu query per detik dan transaksi per detik, mampu menyaingi penyedia cloud besar.

Dasar Benchmarking

Sebagai pengantar, dasar kami untuk proyek benchmarking ini didasarkan pada pengujian yang dijalankan Amazon Web Services di AWS RDS , khususnya yang berkaitan dengan kekuatan prosesor internal mereka.

Penting untuk diperhatikan bahwa harga dasar untuk penyiapan AWS ini diperkirakan $1700 per bulan berdasarkan spesifikasi AWS RDS bersama dengan driver VM yang menulis ke database:

Gambar milik AWS RDS

Alat dan Pengaturan Benchmarking: Hardware dan Software

Sebelum kita membahas secara rinci proses benchmarking kinerja, kami ingin menyoroti hardware dan software yang terlibat, serta alat benchmarking:

Hardware

Mesin yang terlibat dalam benchmarking kami memiliki tiga node dengan konfigurasi berikut:

  • CPU: CPU Intel(R) Xeon(R) Platinum 8160 Ganda @ 2,10GHZ
  • Memori: 64GB DDR4
  • Disk OS: 500GB
  • Data Tambahan: SSD Samsung EVO Ganda 1TB
  • Jaringan: Broadcom NetXtreme 5720 Dual 10 Gbps Port, pengaturan LACP

Software

Pembandingan kami melibatkan penggunaan software berikut:

  • OS: Ubuntu 22.04.3 LTS
  • Kubernetes (v1.25.9 dengan distribusi k3s1)
  • Driver Kelas Penyimpanan - Rook Ceph v1.1.3
  • Database-as-a-Service (DBaaS): Percona Everest: MySQL XtraDB Cluster (v.8.032-24.2)

Enam contoh dibuat menggunakan Ubuntu untuk menguji penanganan mesin dan mengukur potensi hambatan kinerja. Untuk menjaga konsistensi operasional, setiap instance memiliki versi yang sama, ukuran yang sama, pengaturan yang sama, dan menggunakan MySQL sebagai database utama. 

Alat Benchmarking

Dalam proses benchmarking, kami menggunakan sysbench untuk menjalankan benchmarking, memantau kinerja, dan mengumpulkan hasil.

Sysbench adalah alat benchmarking open source yang digunakan untuk menganalisis kinerja database. Ini adalah alat pembandingan basis data pilihan kami karena dapat membuat contoh pengujian dan beban kerja yang kompleks, tanpa menghambat proses bisnis dan tanpa memerlukan server basis data.

Proses Benchmarking

Benchmarking Setup

Benchmarking kami dimulai dengan penyiapan mesin, khususnya bare metal machine dengan tiga node dan disk penyimpanan eksternal yang digabungkan. Mesin ini bertindak sebagai lingkungan utama untuk pengujian kami, dengan cluster Kubernetes dibuat di dalam mesin ini sendiri

Enam instance Ubuntu dan MySQL 8.0.36 kemudian dibuat di cluster Kubernetes yang dihasilkan, dengan Operator MySQL Percona Everest menyimpan semua data kinerja dan Ceph (dioperasikan oleh Rook) bertindak sebagai penyimpanan backend. Terakhir, sysbench disiapkan untuk menjalankan dan mencatat hasil benchmarking.

Benchmarking Operation

Melalui sysbench, kami menguji instance tersebut selama 30 menit (waktu operasi rata-rata pesaing). Meskipun mengukur kinerja satu instans akan menyediakan sumber daya kinerja yang memadai, kami memilih untuk menguji batas mesin kami dengan secara bertahap meningkatkan jumlah instans yang digunakan melalui setiap pengujian, dari satu instans pada awalnya menjadi maksimal enam instans. Hasilnya dicatat di Percona Everest dan Ceph.

Benchmarking Metrik dan Hasil Kinerja

Performa instance MySQL Ubuntu dalam cluster Kubernetes kami menunjukkan penanganan kueri per detik yang signifikan seiring dengan bertambahnya jumlah instance. Namun, penting untuk dicatat bahwa kinerja mengalami hambatan setelah instans keenam dimulai, sehingga kami memilih kinerja lima instans yang dioptimalkan daripada menambahkan instans keenam yang relatif di bawah standar dalam operasi kami yang sebenarnya.

Jumlah rata-rata kueri per detik yang diproses per instans

Selama pengujian kami, enam instans MySQL Ubuntu kami menghasilkan rata-rata 12544 kueri per detik (QPS) , yang menunjukkan kemampuan cluster dan mesin kami dalam menangani enam instans dan mencapai standar industri. Dasar kami dalam eksperimen pembandingan ini, AWS RDS, mencapai 12501 QPS untuk satu instans yang didukung oleh prosesor AWS Graviton2 mereka.

Setelah menjalankan pengujian instans individual, kami memilih untuk menjalankan pengujian paralel secara bersamaan untuk mengukur kinerja maksimum mesin kami. Menjalankan pengujian kami dari instans 1 dan kemudian meningkatkan ke instans 1 dan instans 2, dan seterusnya, kami menemukan bahwa, pada satu mesin, klaster kami mampu menangani 75264 kueri per detik dengan enam instans yang berjalan hingga terjadi kemacetan. 

Kueri kumulatif per detik di seluruh operasi instans

Penting untuk dicatat bahwa selama periode benchmarking ini, pengaturan basis data pengujian dikonfigurasikan untuk mencerminkan pengaturan yang dipilih oleh pesaing kami. Meskipun demikian, pengujian kami menunjukkan bahwa instans kami memiliki kinerja yang sama, atau bahkan lebih baik, dibandingkan instans pesaing, tanpa menggunakan banyak sumber daya. 

Kami memberi harga pada penawaran bare-metal khusus ini mulai dari total $2000 per bulan dengan bantuan dari teman-teman kami di OpenColo . Berdasarkan jumlah instans saja, Anda bisa mendapatkan 5x kekuatan penanganan melalui cluster dan mesin kami dibandingkan mesin pesaing, dan biaya keseluruhan yang lebih rendah. 

Apa artinya ini bagi Anda?

Kami memahami bahwa harga dan kinerja hanyalah dua dari banyak faktor yang Anda pertimbangkan saat memilih vendor untuk infrastruktur cloud Anda. Pada akhirnya, kami selalu menganjurkan transparansi harga dalam hal layanan dan kinerja kami, dan bagaimana Anda mendapatkan manfaat dari keduanya. 

Kami tidak mencoba untuk hanya memilih cloud tertentu, dan jika ada kesimpulan utama dari benchmarking kami, solusi dan mesin yang kuat dan teruji ada di mana-mana, tidak hanya di beberapa nama besar. Melalui kemitraan kami dengan penyedia layanan terkelola, kami dapat memberikan Anda keduanya, sekaligus memberi Anda harga yang kompetitif dan manfaat lainnya. 

Jika Anda ingin menyederhanakan proses bisnis dan meningkatkan kinerja bisnis Anda melalui Kubernetes dan bare metal, atau jika Anda ingin mempelajari lebih lanjut proses benchmarking kami dan benar-benar mendalami metodologi kami, hubungi salah satu produk spesialis kami!

Jadwalkan demo

Mari diskusikan proyek Anda

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Ikut Newsletter Kami
Langganan
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Jl. Pluit Indah 168B-G, Pluit Penjaringan,
Jakarta Utara, DKI Jakarta
14450

99 South Almaden Blvd. Suite 600
San Jose, CA
95113

@ Lyrid. Inc 2022

Terms of ServicePrivacy Policy
copilot