MariaDB đã hợp tác với Qualcomm Datacenter Technologies để thúc đẩy hiệu suất bằng cách tận dụng kiến trúc phần cứng dựa trên ARM cải tiến với kiến trúc cơ sở dữ liệu độc đáo của MariaDB. Là một phần của sự kiện ra mắt sản phẩm Qualcomm Centriq ™ 2400 vào tháng 11 năm 2017, chúng tôi đã chứng minh khả năng mở rộng khả năng đọc mạnh mẽ của MariaDB trên chip này. Kể từ đó, MariaDB và bộ phận kỹ thuật của Qualcomm đã và đang làm việc để cải thiện khả năng mở rộng của các hoạt động ghi mà chúng tôi muốn chia sẻ với cộng đồng nhà phát triển ngày hôm nay.
Chúng tôi vui mừng thông báo một số cải tiến hiệu suất đang được cung cấp trong ứng cử viên 10.3 bản phát hành 10.3 được xuất xưởng gần đây. Bằng cách tận dụng bộ vi xử lý 48 lõi Qualcomm Centriq 2400 song song cao chạy ở tốc độ 2,6 GHz với 6 kênh bộ nhớ trong một kiến trúc vòng hoàn toàn nhất quán, chúng tôi quan tâm đến việc tối ưu hóa hiệu suất ghi trong một trường hợp sử dụng ghi hàng cho một ứng dụng có phân luồng cao.
MariaDB sử dụng phần mềm điểm chuẩn sysbench để đo hiệu suất. Trong blog này, chúng tôi sẽ kiểm tra 2 điểm chuẩn sau bằng cách sử dụng sysbench 1.0:
- Oltp_update_index:Tính năng này mô phỏng việc cập nhật một giá trị hàng đơn theo chỉ mục khóa chính trong đó chỉ mục phụ phải được cập nhật do quá trình cập nhật.
- Oltp_update_nonindex:Điều này mô phỏng việc cập nhật một giá trị hàng đơn theo chỉ mục khóa chính khi không có chỉ mục phụ. Điều này rõ ràng yêu cầu ít công việc hơn oltp_update_index.
Những gì chúng tôi thấy là khi số lượng luồng đồng thời tăng lên, hiệu suất trong 10.3 nhanh hơn tới 48% so với 10.2 trên Centriq ™ 2400:
Các cải tiến được thực hiện đã loại bỏ các điểm tranh chấp và tối ưu hóa cho chipset ARM64, cụ thể là:
- MDEV-15090:Giảm chi phí ghi hoàn tác bản ghi nhật ký
- MDEV-15132:Tránh truy cập trang TRX_SYS
- MDEV-15019:InnoDB:lưu trữ ReadView trên trx
- MDEV-14756:Xóa trx_sys_t ::rw_trx_list
- MDEV-14482:Tranh chấp về dòng bộ nhớ đệm trên ut_rnd_ulint_counter ()
- MDEV-15158:Khi cam kết, không ghi vào trang TRX_SYS
- MDEV-15104:Xóa trx_sys_t ::rw_trx_ids và trx_sys_t ::serialisation_list
- MDEV-14638:Thay thế trx_sys_t ::rw_trx_set bằng LF_HASH
- MDEV-14529:InnoDB rw-lock:tối ưu hóa các rào cản bộ nhớ
- MDEV-14374:Mã UT_DELAY:Loại bỏ rào cản phần cứng cho nền tảng arm64 bit
- MDEV-14505:Threads_running trở thành điểm nghẽn về khả năng mở rộng
Tóm lại, điều này có nghĩa là MariaDB sẽ hoạt động tốt hơn đáng kể trong các bản cập nhật đồng thời ở mức cao, cải thiện thời gian phản hồi trong các ứng dụng của bạn ở mức tải cao nhất.
Những cải tiến cũng sẽ mang lại lợi ích cho các kiến trúc chip khác nhưng lợi ích lớn hơn nhiều được thấy trên Centriq ™ 2400 do thiết kế của nó có khả năng hỗ trợ số lượng luồng cao nhiều. Bằng cách sử dụng các lõi vật lý so với siêu phân luồng, số lượng lõi thấp hơn, Centriq ™ 2400 thể hiện mức tăng thêm 13% so với nền tảng Broadwell tham chiếu tương đương.
Khi hệ thống Centriq ™ 2400 được tung ra thị trường năm nay, chúng tôi rất vui khi thấy khối lượng công việc của khách hàng tận dụng khả năng mở rộng kết hợp với mức tiêu thụ điện năng thấp hơn để chạy khối lượng công việc cơ sở dữ liệu quy mô lớn.