MariaDB telah berkolaborasi dengan Qualcomm Datacenter Technologies dalam mendorong kinerja dengan memanfaatkan arsitektur perangkat keras berbasis ARM yang inovatif dengan arsitektur database unik MariaDB. Sebagai bagian dari peluncuran produk Qualcomm Centriq™ 2400 pada November 2017, kami mendemonstrasikan skalabilitas pembacaan MariaDB yang kuat pada chip ini. Sejak itu, MariaDB dan teknisi Qualcomm telah bekerja untuk meningkatkan skalabilitas operasi penulisan yang ingin kami bagikan dengan komunitas pengembang hari ini.
Kami dengan senang hati mengumumkan sejumlah peningkatan kinerja yang tersedia dalam 10.3.4 kandidat rilis 10.3 yang baru saja dikirimkan. Dengan memanfaatkan prosesor 48-core Qualcomm Centriq 2400 yang sangat paralel yang berjalan pada 2.6GHz dengan 6 saluran memori dalam arsitektur ring yang sepenuhnya koheren, minat kami adalah mengekstrak pengoptimalan kinerja tulis dalam kasus penggunaan tulis satu baris untuk aplikasi yang sangat berulir.
MariaDB menggunakan perangkat lunak benchmark sysbench untuk mengukur kinerja. Di blog ini, kami akan memeriksa 2 benchmark berikut menggunakan sysbench 1.0:
- Oltp_update_index :Ini mensimulasikan pembaruan nilai baris tunggal dengan indeks kunci utama di mana indeks sekunder harus diperbarui sebagai hasil pembaruan.
- Oltp_update_nonindex:Ini mensimulasikan memperbarui nilai baris tunggal dengan indeks kunci utama di mana tidak ada indeks sekunder. Ini jelas membutuhkan lebih sedikit pekerjaan daripada oltp_update_index.
Apa yang kami lihat adalah bahwa saat jumlah utas bersamaan meningkat, kinerjanya hingga 48% lebih cepat di 10,3 daripada 10,2 di Centriq™ 2400:
Perbaikan yang dilakukan menghilangkan poin pertentangan dan mengoptimalkan chipset ARM64, khususnya:
- MDEV-15090 :Mengurangi biaya menulis undo log record
- MDEV-15132 :Hindari mengakses halaman TRX_SYS
- MDEV-15019 :InnoDB:simpan ReadView di trx
- MDEV-14756 :Hapus trx_sys_t::rw_trx_list
- MDEV-14482 :Pertentangan baris cache di ut_rnd_ulint_counter()
- MDEV-15158 :Saat melakukan, jangan menulis ke halaman TRX_SYS
- MDEV-15104 :Hapus trx_sys_t::rw_trx_ids dan trx_sys_t::serialisation_list
- MDEV-14638 :Ganti trx_sys_t::rw_trx_set dengan LF_HASH
- MDEV-14529 :InnoDB rw-locks:mengoptimalkan hambatan memori
- MDEV-14374 :Kode UT_DELAY :Menghapus penghalang perangkat keras untuk platform arm64 bit
- MDEV-14505 :Threads_running menjadi hambatan skalabilitas
Singkatnya, ini berarti bahwa MariaDB akan berkinerja lebih baik secara signifikan di bawah pembaruan serentak tingkat tinggi yang meningkatkan waktu respons dalam aplikasi Anda pada beban puncak.
Peningkatan ini juga akan memberikan manfaat bagi arsitektur chip lainnya, tetapi keuntungan yang jauh lebih besar terlihat pada Centriq™ 2400 karena desainnya mampu mendukung jumlah thread yang jauh lebih tinggi. Dengan memanfaatkan inti fisik vs hyper-threading, jumlah inti yang lebih rendah, Centriq™ 2400 menunjukkan peningkatan 13% tambahan dibandingkan platform Broadwell referensi yang sebanding.
Saat sistem Centriq™ 2400 mulai dipasarkan tahun ini, kami senang melihat beban kerja pelanggan memanfaatkan skalabilitas yang dikombinasikan dengan konsumsi daya yang lebih rendah untuk menjalankan beban kerja database skala tinggi.