Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL trên Azure Performance Benchmark - ScaleGrid so với Cơ sở dữ liệu Azure

Microsoft Azure là một trong những nhà cung cấp đám mây phổ biến nhất trên thế giới và rất phù hợp để lưu trữ cơ sở dữ liệu trên các ứng dụng tận dụng cơ sở hạ tầng của Microsoft. MySQL là cơ sở dữ liệu mã nguồn mở số một thường được lưu trữ thông qua các phiên bản Azure. Mặc dù Microsoft cung cấp sản phẩm Cơ sở dữ liệu Azure của riêng họ, nhưng vẫn có các lựa chọn thay thế khác có thể giúp bạn cải thiện hiệu suất MySQL của mình. Trong bài đăng trên blog này, chúng tôi so sánh Cơ sở dữ liệu Azure cho MySQL và ScaleGrid MySQL trên Azure để bạn có thể xem nhà cung cấp nào cung cấp hiệu suất thông lượng và độ trễ tốt nhất. Chúng tôi đo lường độ trễ bằng độ trễ phân vị thứ 95 mili giây.

Sơ lược - TLDR

Đọc Khối lượng Công việc Chuyên sâu

Trong các khối lượng công việc đọc chuyên sâu, ScaleGrid quản lý để đạt được thông lượng cao hơn tới 3 lần và độ trễ trung bình tốt hơn 66% so với Cơ sở dữ liệu Azure. Đọc ngay bây giờ

Khối lượng công việc cân bằng

Với thông lượng tốt hơn trung bình 150% và độ trễ ít hơn một phần ba, ScaleGrid hoạt động tốt hơn Cơ sở dữ liệu Azure cho Khối lượng công việc cân bằng. Đọc ngay bây giờ

Viết Khối lượng Công việc Chuyên sâu

Scalegrid đạt được thông lượng cao hơn tới 4 lần và độ trễ trung bình thấp hơn 64% trên tất cả số luồng so với Cơ sở dữ liệu Azure cho MySQL. Đọc ngay bây giờ

Bạn mới bắt đầu? Xem bài đăng Cách tốt nhất để lưu trữ MySQL trên Azure Cloud để tìm hiểu thêm về cách tối ưu hóa việc triển khai cơ sở dữ liệu đám mây của bạn.

Điểm chuẩn Hiệu suất MySQL Azure

Trong báo cáo điểm chuẩn này, chúng tôi so sánh dịch vụ lưu trữ MySQL trên Azure tại ScaleGrid so với Cơ sở dữ liệu Azure cho MySQL trong ba trường hợp khối lượng công việc sau:

  • Khối lượng công việc đọc chuyên sâu:80% đọc và 20% viết
  • Khối lượng công việc cân bằng:50% đọc và 50% ghi
  • Khối lượng công việc chuyên sâu về viết:20% đọc và 80% viết

Chúng tôi đo lường hiệu suất thông lượng và độ trễ của MySQL, đồng thời đo lường thông lượng về truy vấn mỗi giây (QPS) và độ trễ theo phân vị thứ 95 (mili giây). Kiểm tra phần Cấu hình điểm chuẩn của chúng tôi bên dưới báo cáo hiệu suất để xem các thử nghiệm này được định cấu hình như thế nào.

Hiệu suất đọc chuyên sâu của MySQL

Khối lượng công việc đọc nhiều trong MySQL là khối lượng công việc thường bị chi phối bởi các hoạt động đọc, chẳng hạn như SELECT. Vì vậy, khối lượng công việc cần đọc nhiều sẽ là khối lượng tìm kiếm cơ sở dữ liệu thường xuyên hơn so với việc ghi vào nó. Percona có một bài đăng tuyệt vời về khối lượng công việc cần đọc nhiều so với viết nhiều để bạn có thể tìm hiểu thêm.

Chúng ta hãy xem xét hiệu suất thông lượng và độ trễ của ScaleGrid MySQL so với Cơ sở dữ liệu Azure cho MySQL:

Thông lượng

Chủ đề ScaleGrid Azure Cải tiến 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%
Như chúng ta có thể thấy từ biểu đồ và bảng hiệu suất ở trên, ScaleGrid MySQL đạt được thông lượng cao hơn gấp 3 lần so với Cơ sở dữ liệu Azure cho khối lượng công việc cần đọc nhiều. Trong khi Cơ sở dữ liệu Azure cho thông lượng MySQL dưới 3.000 truy vấn mỗi giây trong tất cả các kịch bản luồng, thì ScaleGrid có hơn 5.000-9.000 truy vấn mỗi giây trên các luồng.

Độ trễ

Chủ đề ScaleGrid Azure Cải tiến ScaleGrid
25 258 451 - 43%
50 101 670 - 85%
100 148 978 - 85%
150 309 1562 - 80%
175 1.089 1.678 - 35%
Trong khi độ trễ của Cơ sở dữ liệu Azure cho MySQL tăng nhanh khi số lượng luồng tăng lên, ScaleGrid MySQL đều đặn đạt được độ trễ thấp trên tất cả các số luồng . Trung bình, ScaleGrid cho MySQL có độ trễ thấp hơn 66% so với Cơ sở dữ liệu Azure cho MySQL cho các tình huống khối lượng công việc đọc nhiều.

Giảm độ trễ #MySQL của bạn xuống 66% trên Azure, với hiệu suất thông lượng cao hơn tới 3 lần Nhấp để Tweet

Hiệu suất khối lượng công việc cân bằng của MySQL

Khối lượng công việc cân bằng tận dụng số lượng thao tác đọc và thao tác ghi gần bằng nhau.

Thông lượng

Chủ đề ScaleGrid Azure Cải tiến 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%
Trung bình, ScaleGrid đã cải thiện thông lượng MySQL 150% so với Cơ sở dữ liệu Azure cho MySQL để có khối lượng công việc cân bằng và tốt hơn gấp 2 lần trên tất cả số lượng chủ đề. Cơ sở dữ liệu Azure đạt tối đa khoảng 2.775 truy vấn mỗi giây với 150 luồng, trong khi ScaleGrid đạt 5.724 truy vấn mỗi giây cho cùng một số luồng.

Độ trễ

Chủ đề ScaleGrid Azure Cải tiến ScaleGrid
25 76 390 - 81%
50 103 612 - 83%
100 240 943 - 75%
150 560 1.590 - 65%
175 560 2.199 - 75%
Chúng tôi thấy một cải tiến đáng kể khác về hiệu suất độ trễ đối với khối lượng công việc cân bằng, trong đó triển khai ScaleGrid MySQL có thể thực hiện ở mức thấp hơn hơn một phần ba độ trễ so với Cơ sở dữ liệu Azure cho MySQL.

MySQL Write-Intensive Performance

Trong khi các thao tác đọc đang tìm kiếm từ cơ sở dữ liệu, các thao tác ghi là những thao tác lưu vào hoặc sửa đổi cơ sở dữ liệu, chẳng hạn như các truy vấn CHÈN, CẬP NHẬT hoặc XÓA. Khối lượng công việc cần ghi thường đắt hơn khối lượng công việc cần đọc vì các hoạt động tiêu tốn nhiều tài nguyên hơn. Hãy so sánh thông lượng của ScaleGrid với Azure Database và hiệu suất độ trễ trên các khối lượng công việc đòi hỏi nhiều khả năng ghi của MySQL.

Thông lượng

Chủ đề ScaleGrid Azure Cải tiến 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%
Trong kịch bản chuyên sâu về khả năng viết của chúng tôi, chúng tôi có thể thấy sự cải thiện hiệu suất lớn nhất khi ScaleGrid đạt được lên đến 4x thông lượng cao hơn so với Cơ sở dữ liệu Azure . Điều này đặc biệt rõ ràng trong các kịch bản luồng thấp của chúng tôi, nhưng ngay cả ở 175 luồng, ScaleGrid vẫn hoạt động tốt hơn 2,5 lần so với Cơ sở dữ liệu Azure.

Độ trễ

Chủ đề ScaleGrid Azure Cải tiến 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 lại vượt trội so với Cơ sở dữ liệu Azure với trung bình độ trễ thấp hơn 64% trên tất cả số luồng dành cho khối lượng công việc đòi hỏi nhiều viết.

Như chúng ta có thể thấy từ các báo cáo trên, ScaleGrid giúp bạn tăng đáng kể thông lượng và giảm độ trễ của bạn khi triển khai Cơ sở dữ liệu Azure cho MySQL trên các khối lượng công việc cân bằng, đọc nhiều, ghi nhiều. các tình huống. Để tìm hiểu thêm về cách hai nhà cung cấp này so sánh giữa các tính năng, hãy xem trang ScaleGrid so với Azure Database MySQL.

Cấu hình điểm chuẩn

Hãy xem các cấu hình chúng tôi đã sử dụng trong điểm chuẩn hiệu suất:

So sánh cấu hình

Chúng tôi thiết kế cấu hình bằng cách sử dụng các gói có thể so sánh được giữa ScaleGrid và Azure Database. Chỉ có những khác biệt nhỏ và chi phí là như nhau đối với hai nhà cung cấp:

ScaleGrid MySQL trên Azure Cơ sở dữ liệu Azure dành cho MySQL
Loại Phiên bản Dedicated Large:Standard_Ds2_v2 2 lõi Mục đích chung:2 lõi
RAM 7 GB 10GB (Bộ nhớ 5GB cho mỗi vCore)
SSD 128GB, Đĩa SSD cao cấp, 500 IOPS 167GB, tối đa 500 IOPS
Loại Triển khai Số lượng 2 + 1 với sao chép bán đồng bộ + 1 Đọc Bản sao Sao chép không đồng bộ
Vùng Đông Hoa Kỳ Đông Hoa Kỳ
Hỗ trợ Đã bao gồm Gói tiêu chuẩn ($ 100)
Giá ước tính hàng tháng $ 400 $ 400

Cấu hình Sysbench

Cấu hình Chi tiết
Công cụ Sysbench phiên bản 1.0.20
Máy chủ Standard_Ds2_v2
2 lõi (2 vcpus, 7GB memory) ở khu vực Đông Hoa Kỳ
# Bảng 100
# Hàng trên mỗi bảng 2.000.000
Phân phối số ngẫu nhiên Đặc biệt

Cấu hình máy chủ MySQL

Cấu hình Azure Scalegrid (Chuyên dụng) Azure DB cho MySQL
Phiên bản SQL 5.7.25 5.7.27
innodb_buffer_pool_size 4G 7,5G
innodb_log_file_size 1G 268 triệu
innodb_io_capacity 500 500
innodb_io_capacity_max 1000 1000

Lưu ý rằng tại ScaleGrid, bạn có các tùy chọn nâng cao để tùy chỉnh cấu hình MySQL của mình. Điều này cho phép bạn tùy chỉnh việc triển khai theo nhu cầu ứng dụng của mình và tối ưu hóa hiệu suất. Rất tiếc, Cơ sở dữ liệu Azure không cho phép tùy chỉnh một số tham số, vì vậy bạn gặp khó khăn với các cấu hình mặc định có sẵn thông qua nền tảng của họ.

Ví dụ:chúng tôi có thể tùy chỉnh kích thước tệp nhật ký InnoDB thành 1GB trong khi đối với Cơ sở dữ liệu Azure, điều này không thể sửa đổi và có giá trị mặc định là 268M. Tìm hiểu thêm về các hạn chế trong Cơ sở dữ liệu Azure dành cho MySQL.

Có nhiều lợi ích khác khi sử dụng Scalegrid MySQL cho Azure, hãy xem phần so sánh đầy đủ trên trang ScaleGrid và Azure Database - MySQL Hosting của chúng tôi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi:chọn lệnh bị từ chối đối với người dùng '<userid>' @ '<ip-address>' cho bảng '<table-name>'

  2. Đồng bộ cơ sở dữ liệu Mysql giữa hai cơ sở dữ liệu

  3. Đặt giá trị cột làm tên cột trong kết quả truy vấn SQL

  4. Thêm ID Tự động Tăng dần vào bảng hiện có?

  5. Máy chủ MySQL độc lập