Benchmark Sysbench
Mục 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 thông tin tham khảo về khả năng xử lý của các database engine trên các cấu hình tài nguyên (flavor) khác nhau. Kết quả benchmark chỉ mang tính tham khảo và không đảm bảo hiệu năng thực tế.
1. Giới thiệu Benchmark Sysbench
Mục đích:
Benchmark Sysbench được sử dụng để:
- Đánh giá hiệu năng xử lý OLTP (Read/Write) của các database engine.
- Quan sát mức độ cải thiện hiệu năng khi tăng tài nguyên CPU và RAM.
- Cung cấp dữ liệu tham khảo để người dùng lựa chọn cấu hình phù hợp.
Database engine được benchmark:
Các database engine được benchmark trong tài liệu này bao gồm: PostgreSQL, MySQL và MariaDB.
Chỉ số đo lường:
Kết quả benchmark bao gồm các chỉ số chính:
- Sysbench Read : Tổng số truy vấn đọc được thực hiện trong quá trình benchmark.
- Sysbench Write : Tổng số truy vấn ghi được thực hiện trong quá trình benchmark.
- QPS (Queries Per Second) : Số lượng truy vấn trung bình xử lý mỗi giây.
- TPS (Transactions Per Second) : Số lượng transaction hoàn chỉnh trung bình mỗi giây.
Các chỉ số QPS và TPS được sử dụng làm cơ sở để đánh giá hiệu năng tổng thể của hệ thống. Giá trị QPS và TPS càng cao thể hiện throughput của hệ thống càng tốt.
2. Kết quả benchmark theo database engine
2.1. PostgreSQL
Môi trường kiểm thử:
| Thông số | Giá trị |
|---|---|
| Công cụ benchmark | Sysbench (OLTP Read/Write) |
| Số lượng bảng | 64 |
| Số bản ghi trên mỗi bảng | 1000000 |
| Loại workload | Read/Write |
| Số luồng (threads) | Cấu hình tương ứng với từng flavor |
| Phiên bản PostgreSQL | PostgreSQL 17 |
| Kết quả: | |
| Flavor (vCPU/RAM) | Số luồng (threads) |
| --- | --- |
| 2C4G | 64 |
| 2C8G | 64 |
| 4C8G | 64 |
| 8C16G | 64 |
| 8C32G | 64 |
| 16C32G | 64 |
| 16C64G | 64 |
2.2. MySQL
Môi trường kiểm thử:
| Thông số | Giá trị |
|---|---|
| Công cụ benchmark | Sysbench (OLTP Read/Write) |
| Số lượng bảng | 64 |
| Số bản ghi trên mỗi bảng | 1000000 |
| Loại workload | Read/Write |
| Số luồng (threads) | Cấu hình tương ứng với từng flavor |
| Phiên bản MySQL | MySQL 8.0.42 |
| Kết quả: | |
| Flavor (vCPU/RAM) | Số luồng (threads) |
| --- | --- |
| 4C8G | 16 |
| 8C16G | 32 |
| 8C32G | 32 |
| 16C32G | 64 |
2.3. MariaDB
Môi trường kiểm thử:
| Thông số | Giá trị |
|---|---|
| Công cụ benchmark | Sysbench (OLTP Read/Write) |
| Số lượng bảng | 64 |
| Số bản ghi trên mỗi bảng | 1000000 |
| Loại workload | Read/Write |
| Số luồng (threads) | Cấu hình tương ứng với từng flavor |
| Phiên bản MariaDB | MariaDB 8.0.42 |
| Kết quả: | |
| Flavor (vCPU/RAM) | Số luồng (threads) |
| --- | --- |
| 4C8G | 16 |
| 8C16G | 32 |
| 8C32G | 32 |
| 16C32G | 64 |
| 16C64G | 64 |
3. Nhận định & Khuyến nghị
- Việc tăng CPU và RAM nhìn chung giúp cải thiện throughput.
- Mỗi database engine có đặc điểm scale khác nhau.
- Ở cấu hình cao, mức tăng hiệu năng có thể chậm lại tuỳ theo workload và giới hạn hệ thống.
Lưu ý quan trọng:
- Kết quả benchmark phụ thuộc vào workload và chỉ mang tính tham khảo.
- Hiệu năng thực tế có thể khác biệt tuỳ thuộc vào:
- Đặc điểm workload của ứng dụng.
- Schema và index của cơ sở dữ liệu.
- Tỷ lệ đọc/ghi.
- Cấu hình storage và network.
Người dùng nên thực hiện benchmark với workload thực tế trước khi triển khai môi trường production. Khuyến nghị: Sử dụng kết quả benchmark như dữ liệu tham khảo khi lựa chọn database engine và cấu hình tài nguyên. Để đạt hiệu năng tối ưu, nên kiểm thử với workload thực tế của ứng dụng.