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ụ benchmark | Sysbench (OLTP Read/Write) |
| Số bảng | 64 |
| Số dòng mỗi bảng | 1000000 |
| Loại tải công việc | Read/Write |
| Số thread | Cấu hình theo kích thước instance |
| Phiên bản PostgreSQL | PostgreSQL 17 |
| Kết quả: | |
| Flavor (vCPU/RAM) | Số thread |
| --- | --- |
| 2C4G | 64 |
| 2C8G | 64 |
| 4C8G | 64 |
| 8C16G | 64 |
| 8C32G | 64 |
| 16C32G | 64 |
| 16C64G | 64 |
2.2. MySQL
Môi trường kiểm thử:
| Tham số | Giá trị |
|---|---|
| Công cụ benchmark | Sysbench (OLTP Read/Write) |
| Số bảng | 64 |
| Số dòng mỗi bảng | 1000000 |
| Loại tải công việc | Read/Write |
| Số thread | Cấu hình theo kích thước instance |
| Phiên bản MySQL | MySQL 8.0.42 |
| Kết quả: | |
| Flavor (vCPU/RAM) | Số thread |
| --- | --- |
| 4C8G | 16 |
| 8C16G | 32 |
| 8C32G | 32 |
| 16C32G | 64 |
2.3. MariaDB
Môi trường kiểm thử:
| Tham số | Giá trị |
|---|---|
| Công cụ benchmark | Sysbench (OLTP Read/Write) |
| Số bảng | 64 |
| Số dòng mỗi bảng | 1000000 |
| Loại tải công việc | Read/Write |
| Số thread | Cấu hình theo kích thước instance |
| Phiên bản MySQL | MariaDB 10.6 |
| Kết quả: | |
| Flavor (vCPU/RAM) | Số thread |
| --- | --- |
| 4C8G | 16 |
| 8C16G | 32 |
| 8C32G | 32 |
| 16C32G | 64 |
| 16C64G | 64 |
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.