Chuyển tới nội dung chính

Benchmark với Sysbench

Phần này trình bày kết quả benchmark hiệu năng cơ sở dữ liệu được thực hiện bằng công cụ Sysbench, nhằm cung cấp tham khảo về khả năng xử lý của các database engine trên các cấu hình compute (flavor) khác nhau. Các kết quả được cung cấp chỉ nhằm mục đích tham khảo và không đại diện cho hiệu năng được đảm bảo.

1. Tổng quan về Benchmark Sysbench

Mục đích:

  • Đánh giá hiệu năng OLTP (Read/Write) của các database engine được hỗ trợ.
  • Quan sát hành vi mở rộng hiệu năng khi tăng tài nguyên CPU và bộ nhớ.
  • Cung cấp dữ liệu tham khảo giúp khách hàng lựa chọn kích thước instance phù hợp.

Các database engine được benchmark: Các database engine được bao gồm trong benchmark này: PostgreSQL, MySQL, và MariaDB. Chỉ số:

  • Sysbench Read : Tổng số truy vấn đọc được thực thi trong quá trình kiểm thử.
  • Sysbench Write : Tổng số truy vấn ghi được thực thi trong quá trình kiểm thử.
  • QPS (Queries Per Second) : Số lượng truy vấn trung bình được xử lý mỗi giây.
  • TPS (Transactions Per Second) : Số lượng giao dịch trung bình được hoàn thành mỗi giây.

Giá trị QPS và TPS càng cao cho thấy thông lượng càng cao với tải công việc được kiểm thử.

2. Kết quả Benchmark theo Database Engine

2.1. PostgreSQL

Môi trường kiểm thử:

Tham sốGiá trị
Công cụ benchmarkSysbench (OLTP Read/Write)
Số bảng64
Số dòng mỗi bảng1000000
Loại tải công việcRead/Write
Số threadCấu hình theo kích thước instance
Phiên bản PostgreSQLPostgreSQL 17
Kết quả:
Flavor (vCPU/RAM)Số thread
------
2C4G64
2C8G64
4C8G64
8C16G64
8C32G64
16C32G64
16C64G64

2.2. MySQL

Môi trường kiểm thử:

Tham sốGiá trị
Công cụ benchmarkSysbench (OLTP Read/Write)
Số bảng64
Số dòng mỗi bảng1000000
Loại tải công việcRead/Write
Số threadCấu hình theo kích thước instance
Phiên bản MySQLMySQL 8.0.42
Kết quả:
Flavor (vCPU/RAM)Số thread
------
4C8G16
8C16G32
8C32G32
16C32G64

2.3. MariaDB

Môi trường kiểm thử:

Tham sốGiá trị
Công cụ benchmarkSysbench (OLTP Read/Write)
Số bảng64
Số dòng mỗi bảng1000000
Loại tải công việcRead/Write
Số threadCấu hình theo kích thước instance
Phiên bản MySQLMariaDB 10.6
Kết quả:
Flavor (vCPU/RAM)Số thread
------
4C8G16
8C16G32
8C32G32
16C32G64
16C64G64

3. Phân tích & Khuyến nghị

  • Việc tăng CPU và bộ nhớ nhìn chung cải thiện thông lượng.
  • Mỗi database engine thể hiện các đặc tính mở rộng khác nhau.
  • Mức tăng hiệu năng có thể giảm dần ở các cấu hình cao hơn tùy thuộc vào tải công việc và giới hạn hệ thống.

Quan trọng:

  • Kết quả benchmark phụ thuộc vào tải công việc và chỉ được cung cấp để tham khảo.
  • Hiệu năng thực tế có thể khác nhau tùy thuộc vào:
    • Đặc điểm tải công việc của ứng dụng.
    • Schema và lập chỉ mục cơ sở dữ liệu.
    • Tỷ lệ đọc/ghi.
    • Cấu hình lưu trữ và mạng.

Khách hàng được khuyến khích mạnh mẽ nên kiểm thử với tải công việc của chính mình trước khi triển khai lên môi trường production. Khuyến nghị: Sử dụng các kết quả benchmark này làm hướng dẫn khi lựa chọn database engine và kích thước instance. Để đạt hiệu năng tối ưu, hãy xác thực các lựa chọn cấu hình thông qua kiểm thử hiệu năng dành riêng cho ứng dụng.