Bộ xử lý AMD EPYC Milan và Chế độ FFC tăng tốc Oracle 244%

Hấp dẫn phải không? Nhóm Oracle tại Dell Technologies gần đây đã cấu hình một máy chủ Dell EMC PowerEdge được trang bị bộ xử lý AMD EPYC mới để kiểm tra hiệu suất của tính năng cơ sở dữ liệu Oracle 19c có tên là chế độ Force Full Cache (FFC). Khi sử dụng chế độ FFC, máy chủ Oracle sẽ cố gắng lưu toàn bộ dấu chân cơ sở dữ liệu vào bộ nhớ đệm đệm. Điều này giúp giảm độ trễ đọc một cách hiệu quả từ những gì đã xảy ra với hệ thống lưu trữ xuống tốc độ truy cập bộ nhớ. Các bản ghi vẫn được gửi đến bộ lưu trữ để đảm bảo độ bền và khả năng phục hồi của cơ sở dữ liệu. Điều thú vị là bằng cách sử dụng chế độ FFC của Oracle, bộ xử lý AMD EPYC có thể tăng tốc các hoạt động cơ sở dữ liệu trong khi bỏ qua hầu hết thời gian chờ đợi I/O lưu trữ.

Đối với bài kiểm tra hiệu năng này, máy chủ PowerEdge R7525 của chúng tôi được trang bị hai bộ xử lý AMD EPYC 7543 với tốc độ 2,8 GHz, mỗi lõi có 32 lõi. Có một số lớp bộ đệm trong các bộ xử lý này:

  • Lõi bộ xử lý Zen3, bao gồm bộ đệm ghi lại L1
  • Mỗi lõi có bộ đệm L2 512 KB riêng
  • Tối đa tám lõi Zen3 chia sẻ bộ đệm L3 32 MB

Mỗi bộ xử lý cũng hỗ trợ 8 kênh bộ nhớ và mỗi kênh bộ nhớ hỗ trợ tối đa 2 DIMMS. Với tất cả các mức bộ đệm và kênh bộ nhớ này, giả thuyết của chúng tôi là bộ xử lý AMD EPYC sẽ mang lại hiệu suất đáng kinh ngạc. Mặc dù chúng tôi đã liệt kê các tính năng của bộ xử lý mà chúng tôi tin rằng sẽ ảnh hưởng nhiều nhất đến hiệu suất, nhưng trên thực tế, các bộ xử lý mới này còn nhiều tính năng khác mà chúng tôi chưa đề cập đến. Trang web AMD về khối lượng công việc dữ liệu hiện đại là một thông tin tổng quan tuyệt vời. Để tìm hiểu sâu hơn về điều chỉnh RDBMS, sách trắng này cung cấp thêm chi tiết kỹ thuật tuyệt vời.

Để so sánh, chúng tôi cũng chạy cơ sở dữ liệu Oracle không có chế độ FFC trên cùng một máy chủ. Cả hai chế độ cơ sở dữ liệu đều sử dụng cùng một ngăn xếp công nghệ:

  • Phiên bản doanh nghiệp Oracle 19c (19.7.0.0.200414)
  • Red Hat Enterprise Linux 8.2
  • Bản cập nhật VMware vSphere ESXi 7.0 1

Chúng tôi đã ảo hóa phiên bản cơ sở dữ liệu Oracle vì đó là mô hình triển khai phổ biến nhất được sử dụng hiện nay. AMD và VMware đang liên tục làm việc để tối ưu hóa hiệu suất của khối lượng công việc có giá trị cao như Oracle. Trong bài báo “ Tối ưu hóa hiệu suất trong Bộ lập lịch CPU VMware vSphere 7.0 U2 cho Bộ xử lý AMD EPYC ” VMware cho thấy cách bộ lập lịch CPU của họ đạt được hiệu suất tốt hơn tới 50% so với vSphere 7.0 U1. Khi khoảng cách hiệu suất thu hẹp giữa kim loại trần và các ứng dụng ảo hóa, mức tăng về tính linh hoạt khi ảo hóa sẽ vượt xa chi phí hiệu năng nhỏ của bộ ảo hóa. Nhóm kỹ thuật thực hiện thử nghiệm đã sử dụng ảo hóa VMware vSphere để định cấu hình máy ảo Oracle chính được sao chép sang cấu hình khởi đầu chung.

HammerDB là công cụ đo điểm chuẩn hàng đầu được sử dụng với các cơ sở dữ liệu như Oracle, Microsoft SQL Server và các cơ sở dữ liệu khác. Nhóm kỹ thuật đã sử dụng HammerDB để tạo khối lượng công việc TPROC-C trên cơ sở dữ liệu VM. Điểm chuẩn TPROC-C được gọi là khối lượng công việc Xử lý giao dịch trực tuyến (OLTP) vì nó mô phỏng các nhà khai thác thiết bị đầu cuối thực hiện giao dịch. Khi chạy khối lượng công việc TPROC-C, hệ thống lưu trữ phải hỗ trợ hàng nghìn yêu cầu đọc và ghi nhỏ mỗi phút. Với cấu hình truyền thống, bộ đệm đệm của Oracle sẽ chỉ có thể tăng tốc một phần thao tác đọc và ghi. Độ trễ trung bình của hệ thống sẽ tăng lên khi có nhiều lượt đọc và ghi vào hệ thống lưu trữ hơn vì thời gian chờ đối với các hoạt động lưu trữ vật lý lớn hơn bộ nhớ. Đây là điều mà nhóm dự kiến ​​sẽ quan sát được với cơ sở dữ liệu Oracle không được cấu hình cho chế độ FFC. I/O lưu trữ liên tục nhanh hơn nhưng không nhanh bằng I/O được cung cấp từ bộ nhớ.

Sau khi công cụ kiểm tra khởi động bộ đệm, hầu hết các lần đọc sẽ được phục vụ từ bộ nhớ thay vì từ bộ lưu trữ, mang lại điều mà chúng tôi hy vọng sẽ là hiệu suất tăng đáng kể. Chúng tôi sẽ không thể tách biệt các lợi ích hiệu suất riêng lẻ của việc sử dụng bộ xử lý AMD EPYC kết hợp với chế độ FFC của Oracle, tuy nhiên, hiệu quả đạt được thông qua bộ nhớ đệm AMD, kênh bộ nhớ và tối ưu hóa VMware vSphere sẽ khiến bài kiểm tra hiệu năng này trở nên thú vị!

Trước khi xem xét kết quả hiệu suất, điều quan trọng là chúng tôi phải xem xét cấu hình máy ảo, bộ lưu trữ và khối lượng công việc TPROC-C. Một điểm khác biệt quan trọng giữa máy ảo cơ sở (không có chế độ FFC) và cấu hình cơ sở dữ liệu có bật chế độ FFC là bộ nhớ được phân bổ cho SGA. Điều quan trọng cần cân nhắc là kích thước cơ sở dữ liệu logic nhỏ hơn kích thước bộ đệm đệm riêng lẻ. Xem Hướng dẫn điều chỉnh hiệu suất cơ sở dữ liệu Oracle 19c để biết danh sách đầy đủ các điều cần cân nhắc. Trong trường hợp này, kích thước SGA là 784 GB để chứa toàn bộ cơ sở dữ liệu vào bộ nhớ đệm trong bộ đệm đệm của Oracle. Tất cả các thông số cấu hình khác như vCPU, bộ nhớ và ổ lưu trữ đều được cấu hình giống hệt nhau.

Việc sử dụng các công nghệ bộ nhớ như chế độ Force Full Cache nên là điều quan trọng cần cân nhắc đối với Doanh nghiệp vì bộ xử lý AMD EPYC cho phép máy chủ PowerEdge R7525 hỗ trợ tối đa 4 TB LRDIMM. Tùy thuộc vào cơ sở dữ liệu và tốc độ tăng trưởng của nó, điều này có thể hỗ trợ nhiều hệ thống vừa và nhỏ. Lợi thế cho doanh nghiệp là khả năng tăng tốc cơ sở dữ liệu bằng cách định cấu hình máy chủ Dell EMC PowerEdge R7525 và bộ xử lý AMD có đủ bộ nhớ để lưu trữ toàn bộ cơ sở dữ liệu.

Bảng 1:   Cấu hình máy ảo và kích thước SGA

Thành phần Đường cơ sở của Oracle Chế độ bộ đệm đầy đủ của Oracle Force
vCPU 32 32
Ký ức 960GB 960GB
Lưu trữ đĩa 400GB 400GB
Kích thước SGA 64GB 784GB

 

Cấu hình lưu trữ cơ sở dữ liệu này bao gồm việc sử dụng Hệ thống tệp máy ảo (VMFS) của VMware vSphere và Quản lý lưu trữ tự động (ASM) của Oracle trên Lưu trữ đính kèm trực tiếp (DAS). Cấu hình lưu trữ được trình bày chi tiết trong bảng dưới đây. ASM Dự phòng thông thường phản ánh từng phạm vi cung cấp khả năng bảo vệ khỏi lỗi một đĩa.

Bảng 2:   Cấu hình lưu trữ và ASM

Nhóm lưu trữ Kích thước (GB) Dự phòng ASM 
Dữ liệu 800 Bình thường
Làm lại 50 Bình thường
FRA 50 Bình thường
NHIỆT ĐỘ 250 Bình thường
OCR 50 Bình thường

 

Chúng tôi đã sử dụng HammerDB để tạo cơ sở dữ liệu TPROC-C với 5.000 kho mô phỏng tạo ra khoảng 500 GB dữ liệu, đủ nhỏ để tải toàn bộ vào bộ đệm đệm. Các cài đặt HammerDB khác mà chúng tôi sử dụng bao gồm những cài đặt được hiển thị trong bảng này:

Bảng 3:   HammerDB: Cấu hình thử nghiệm TPROC-C

Cài đặt Giá trị
Tập lệnh điều khiển thời gian Đúng
Tổng số giao dịch trên mỗi người dùng 1.000.000
Phút tăng tốc thời gian 5
Biên bản Thời lượng Kiểm tra 55
Sử dụng tất cả các kho Đúng
Số lượng người dùng ảo 16

 

Đơn hàng mới mỗi phút (NOPM) là số liệu cho biết số lượng đơn hàng được xử lý hoàn toàn trong một phút. Số liệu hiệu suất này cung cấp cái nhìn sâu sắc về hiệu suất của hệ thống cơ sở dữ liệu và có thể được sử dụng để so sánh hai hệ thống khác nhau chạy cùng một khối lượng công việc TPROC-C. Bộ xử lý AMD EYPC kết hợp với chế độ FFC mang lại NOPM cao hơn 244% so với hệ thống cơ bản. Đây là một phát hiện có giá trị vì nó cho thấy việc điều chỉnh ngăn xếp phần cứng và phần mềm có thể tăng tốc hiệu suất cơ sở dữ liệu mà không cần bổ sung thêm tài nguyên như thế nào. Trong trường hợp này, nhóm công nghệ tối ưu bao gồm bộ xử lý AMD EYPC, khi kết hợp với chế độ FFC của Oracle, đã tăng tốc NOPM lên 2,4 lần so với mức cơ bản.

Hình 1:  So sánh số lượng đơn đặt hàng mới mỗi phút 

Những yếu tố nào đóng vai trò trong việc thúc đẩy hiệu suất? Biểu đồ Thời gian phản hồi lưu trữ trung bình cho thử nghiệm cơ bản cho thấy thời gian phản hồi lưu trữ trung bình của hệ thống là 0,24 mili giây. Mục tiêu của hệ thống sản xuất OLTP là hầu hết thời gian phản hồi lưu trữ phải nhỏ hơn 1 mili giây vì đây là dấu hiệu cho thấy hiệu suất lưu trữ tốt. Vì vậy, hệ thống cơ sở đã thể hiện hiệu quả hoạt động tốt; tuy nhiên, ngay cả với thời gian phản hồi lưu trữ tối thiểu, hệ thống chỉ đạt được 169.481 NOPM.

Khi bật chế độ FFC, toàn bộ cơ sở dữ liệu nằm trong bộ đệm đệm cơ sở dữ liệu. Điều này dẫn đến số lần đọc vật lý ít hơn và thời gian phản hồi lưu trữ trung bình nhanh hơn. Kết quả cho thấy thời gian phản hồi lưu trữ trung bình với FFC thấp hơn một nửa số cơ sở, chỉ 0,11 mili giây hoặc nhanh hơn 2,2 lần so với đường cơ sở. Với hầu hết hoạt động I/O hoạt động trong bộ nhớ, các tính năng kênh bộ nhớ và bộ nhớ đệm của bộ xử lý AMD EYPC đã giúp tăng tốc đáng kể khối lượng công việc cơ sở dữ liệu!

Hình 2:   Thời gian phản hồi lưu trữ trung bình 

Sự kết hợp giữa bộ xử lý AMD EYPC với chế độ Force Full Cache của Oracle sẽ mang lại hiệu suất cực kỳ tốt cho các cơ sở dữ liệu nhỏ hơn 4 TB. Kết quả thử nghiệm của chúng tôi cho thấy số lượng Đơn đặt hàng mới mỗi phút tăng 244% và thời gian phản hồi nhanh hơn, nghĩa là nhóm giải pháp này được xây dựng trên PowerEdge R7525 có thể tăng tốc cơ sở dữ liệu Oracle phù hợp với yêu cầu của chế độ FFC. Mỗi hệ thống cơ sở dữ liệu đều khác nhau và kết quả sẽ khác nhau. Nhưng trong các thử nghiệm của chúng tôi, giải pháp dựa trên AMD này đã mang lại hiệu suất đáng kể.

 

Chi tiết hỗ trợ:

Bảng 4:   Cấu hình PowerEdge R7525

Thành phần Chi tiết
Bộ xử lý 2 x Bộ xử lý AMD EPYC 7543 32 nhân @ 2800 MHz
Ký ức 16 x 128GB @ 3200 MHz (tổng cộng 2TB)
Kho 8 x Dell Express Flash NVMe P4610 1.6TB SFF (Intel 2,5 inch 8GT/s)
NIC nhúng 1 x Broadcom Gigabit Ethernet BC5720
NIC tích hợp 1 x Cổng kép nâng cao Broadcom 25 Gb Ethernet