Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL pada Benchmark Kinerja Azure – ScaleGrid vs. Database Azure

Microsoft Azure adalah salah satu penyedia cloud paling populer di dunia, dan cocok untuk hosting database pada aplikasi yang memanfaatkan Microsoft di seluruh infrastruktur mereka. MySQL adalah database open source nomor satu yang biasanya dihosting melalui instance Azure. Sementara Microsoft menawarkan produk Azure Database mereka sendiri, ada alternatif lain yang tersedia yang mungkin dapat membantu Anda meningkatkan kinerja MySQL Anda. Dalam posting blog ini, kami membandingkan Azure Database for MySQL vs. ScaleGrid MySQL di Azure sehingga Anda dapat melihat penyedia mana yang menawarkan kinerja throughput dan latensi terbaik. Kami mengukur latensi dalam latensi persentil ke-95 md.

Sekilas – TLDR

Beban Kerja Intensif Baca

Selama Beban Kerja Intensif Baca, ScaleGrid berhasil mencapai throughput hingga 3 kali lebih tinggi dan rata-rata latensi 66% lebih baik dibandingkan dengan Azure Database. Baca sekarang

Beban Kerja Seimbang

Dengan rata-rata throughput 150% lebih baik, dan kurang dari sepertiga latensi, ScaleGrid mengungguli Database Azure untuk Beban Kerja Seimbang. Baca sekarang

Beban Kerja Intensif Tulis

Scalegrid mencapai throughput hingga 4 kali lebih tinggi dan rata-rata latensi 64% lebih rendah di semua jumlah utas dibandingkan dengan Azure Database untuk MySQL. Baca sekarang

Baru memulai? Lihat postingan Cara Terbaik untuk Menghosting MySQL di Azure Cloud untuk mempelajari lebih lanjut tentang mengoptimalkan penerapan basis data cloud Anda.

Tolok ukur Kinerja MySQL Azure

Dalam laporan tolok ukur ini, kami membandingkan hosting MySQL di Azure di ScaleGrid vs. Azure Database untuk MySQL di tiga skenario beban kerja berikut:

  • Beban Kerja Intensif Baca:80% membaca dan 20% menulis
  • Beban Kerja Seimbang:50% membaca dan 50% menulis
  • Beban Kerja Intensif Tulis:20% membaca dan 80% menulis

Kami mengukur throughput MySQL dan kinerja latensi, dan mengukur throughput dalam hal kueri per detik (QPS) dan latensi dalam persentil ke-95 (md). Lihat bagian Konfigurasi Tolok Ukur kami di bawah laporan kinerja untuk melihat bagaimana pengujian ini dikonfigurasi.

Kinerja Intensif Baca MySQL

Beban kerja intensif baca MySQL adalah beban kerja yang biasanya didominasi oleh operasi baca, seperti SELECT. Jadi, beban kerja membaca intensif akan menjadi salah satu yang mencari database lebih sering vs menulis untuk itu. Percona memiliki postingan yang bagus tentang beban kerja intensif baca vs. tulis, tempat Anda dapat mempelajari lebih lanjut.

Mari kita lihat kinerja throughput dan latensi ScaleGrid MySQL vs. Azure Database untuk MySQL:

Throughput

Utas ScaleGrid Azure Peningkatan ScaleGrid
25 5.299 1,689 214%
50 6.092 2,302 165%
100 8.429 2.877 193%
150 9.011 2.870 214%
175 7.025 2,805 151%
Seperti yang dapat kita lihat dari grafik dan tabel kinerja di atas, ScaleGrid MySQL mencapai throughput hingga 3x lebih tinggi dibandingkan dengan Azure Database untuk beban kerja intensif baca. Sementara Azure Database untuk MySQL throughput di bawah 3.000 kueri per detik di semua skenario utas, ScaleGrid memiliki lebih dari 5.000-9.000 kueri per detik di seluruh utas.

Latensi

Utas ScaleGrid Azure Peningkatan ScaleGrid
25 258 451 -43%
50 101 670 -85%
100 148 978 -85%
150 309 1562 -80%
175 1.089 1,678 -35%
Sementara Azure Database untuk MySQL latency meningkat pesat seiring bertambahnya jumlah thread, ScaleGrid MySQL terus mencapai latency rendah di semua jumlah thread . Rata-rata, ScaleGrid untuk MySQL memiliki latensi 66% lebih rendah daripada Azure Database untuk MySQL untuk skenario beban kerja intensif baca.

Kurangi latensi #MySQL Anda sebesar 66% di Azure, dengan kinerja throughput hingga 3 kali lebih tinggiKlik Untuk Tweet

Kinerja Beban Kerja Seimbang MySQL

Beban kerja yang seimbang memanfaatkan jumlah operasi baca dan tulis yang kira-kira sama.

Throughput

Utas ScaleGrid Azure Peningkatan ScaleGrid
25 3.806 1.748 118%
50 5.834 2.437 139%
100 6,365 2,712 135%
150 5.724 2,775 106%
175 6.206 1.767 251%
Rata-rata, ScaleGrid meningkatkan throughput MySQL sebesar 150% dibandingkan Azure Database untuk MySQL untuk beban kerja yang seimbang, dan lebih dari 2x lebih baik di semua jumlah utas. Azure Database memaksimalkan sekitar 2.775 kueri per detik pada 150 utas, sementara ScaleGrid mencapai 5.724 kueri per detik untuk jumlah utas yang sama.

Latensi

Utas ScaleGrid Azure Peningkatan ScaleGrid
25 76 390 -81%
50 103 612 -83%
100 240 943 -75%
150 560 1.590 -65%
175 560 2,199 -75%
Kami melihat peningkatan dramatis lainnya dalam kinerja latensi untuk beban kerja yang seimbang, di mana penerapan ScaleGrid MySQL dapat dilakukan dengan kurang dari sepertiga latensi dibandingkan dengan Azure Database untuk MySQL.

Kinerja Penulisan-Intensif MySQL

Saat operasi baca mencari dari database, operasi tulis adalah operasi yang menyimpan atau memodifikasi database, seperti kueri INSERT, UPDATE, atau DELETE. Beban kerja intensif tulis biasanya lebih mahal daripada beban kerja intensif baca karena operasi menghabiskan lebih banyak sumber daya. Mari kita bandingkan kinerja throughput dan latensi ScaleGrid vs. Azure Database di seluruh beban kerja intensif penulisan MySQL.

Throughput

Utas ScaleGrid Azure Peningkatan ScaleGrid
25 3,327 826 303%
50 5.003 1.154 334%
100 5.180 1.476 251%
150 4.310 1,651 161%
175 4.071 1,643 148%
Dalam skenario intensif penulisan kami, kami dapat melihat peningkatan kinerja terbesar di mana ScaleGrid mencapai hingga 4x throughput yang lebih tinggi dibandingkan dengan Azure Database . Ini terutama terlihat dalam skenario utas rendah kami, tetapi bahkan pada 175 utas, ScaleGrid masih berkinerja 2,5x lebih baik daripada Azure Database.

Latensi

Utas ScaleGrid Azure Peningkatan ScaleGrid
25 76 277 -73%
50 101 383 -74%
100 298 996 -70%
150 760 1.740 -56%
175 1.089 2.009 -46%
ScaleGrid mengungguli Azure Database lagi dengan rata-rata 64% lebih rendah latensi di semua jumlah utas untuk beban kerja yang intensif menulis.

Seperti yang dapat kita lihat dari laporan di atas, ScaleGrid membantu Anda meningkatkan throughput secara signifikan dan mengurangi latensi terhadap penerapan Azure Database untuk MySQL di seluruh beban kerja read-intensive, write-intensive, dan balanced skenario. Untuk mempelajari lebih lanjut tentang bagaimana kedua penyedia ini membandingkan seluruh fitur, lihat halaman ScaleGrid vs. Azure Database MySQL.

Konfigurasi tolok ukur

Mari kita lihat konfigurasi yang kami gunakan dalam tolok ukur kinerja:

Perbandingan Konfigurasi

Kami merancang konfigurasi menggunakan paket paling sebanding yang ditawarkan antara ScaleGrid dan Azure Database. Hanya ada sedikit perbedaan dan biayanya sama untuk kedua penyedia:

ScaleGrid MySQL di Azure Database Azure untuk MySQL
Jenis Instance Besar Khusus:Standard_Ds2_v2 2 core Tujuan Umum:2 core
RAM 7GB 10GB (Memori 5GB per vCore)
SSD 128 GB, disk SSD Premium, 500 IOPS 167 GB, hingga 500 IOPS
Jenis Penerapan 2+1 Kuorum dengan replikasi semisinkron +1 Baca Replika Replikasi asinkron
Wilayah AS Timur AS Timur
Dukungan Termasuk Padding standar ($100)
Perkiraan Harga Bulanan $400 $400

Konfigurasi Sysbench

Konfigurasi Detail
Alat Sysbench versi 1.0.20
Host Standard_Ds2_v2
2 core (2 vcpus, memori 7GB) di wilayah AS Timur
# Tabel 100
# Baris per tabel 2.000.000
Distribusi angka acak Spesial

Konfigurasi Server MySQL

Konfigurasi Azure Scalegrid (Dedicated) Azure DB untuk MySQL
Versi SQL 5.7.25 5.7.27
innodb_buffer_pool_size 4G 7.5G
innodb_log_file_size 1G 268M
innodb_io_capacity 500 500
innodb_io_capacity_max 1000 1000

Perhatikan bahwa di ScaleGrid, Anda memiliki opsi lanjutan untuk menyesuaikan konfigurasi MySQL Anda. Ini memungkinkan Anda untuk menyesuaikan penerapan dengan kebutuhan aplikasi Anda dan mengoptimalkan kinerja. Sayangnya, Azure Database tidak mengizinkan penyesuaian beberapa parameter, jadi Anda terjebak dengan konfigurasi default yang tersedia melalui platform mereka.

Misalnya, kami dapat menyesuaikan ukuran file log InnoDB menjadi 1GB sedangkan untuk Azure Database, ini tidak dapat diubah dan memiliki nilai default 268M. Pelajari lebih lanjut tentang batasan di Azure Database untuk MySQL.

Ada banyak keuntungan lain menggunakan Scalegrid MySQL untuk Azure, lihat perbandingan lengkapnya di Database ScaleGrid vs. Azure kami – halaman Hosting MySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql:Pilih semua data di antara dua tanggal

  2. Mencampur ANSI 1992 JOIN dan COMMA dalam kueri

  3. Bagaimana cara mengembalikan kolom integer dan numerik dari MySQL sebagai integer dan numerik di PHP?

  4. Apakah mysql_real_escape_string() rusak?

  5. MySQL:Tambahkan kolom urutan berdasarkan bidang lain