Edge cho Đám mây riêng tư phiên bản 4.54.00 đi kèm với Qpid Broker-J 10.0.1. Trang này mô tả các điểm cần cân nhắc về bộ nhớ và ổ đĩa cho thành phần apigee-qpidd của Edge cho Đám mây riêng tư (với Broker dựa trên Java).
Các phần bên dưới áp dụng riêng cho trường hợp sử dụng Qpid của Apigee's
và giải thích cách điều chỉnh Qpid bằng cơ chế cấu hình của Apigee's.
Qpid trong Apigee
Trong Apigee, Qpid được dùng trong 2 quy trình làm việc chính:
- Analytics
- Kiếm tiền
Trong cả hai quy trình làm việc này, Bộ xử lý thông báo sẽ tạo thông báo, được thu thập thành các lô và đẩy đến Qpid. Đối với Analytics, các thông báo được Qpid-server đọc; đối với tính năng Kiếm tiền, các thông báo được Máy chủ xếp hạng (một phần của máy chủ quản lý) đọc. Sau khi đọc, các thông báo theo lô sẽ được huỷ theo lô và tiếp nhận.
Cấu hình được đề xuất
Các phần sau đây mô tả cấu hình được đề xuất cho bộ nhớ và ổ đĩa với Qpid. Các cấu hình này dựa trên kích thước một thông báo là 2 KB cho Analytics hoặc tính năng Kiếm tiền. Với kích thước lô mặc định là 50, mỗi thông báo trong Qpid sẽ có kích thước khoảng 100 KB. Apigee cho phép các proxy sửa đổi và thêm thông tin bổ sung vào một thông báo (Analytics hoặc tính năng Kiếm tiền). Trong trường hợp cực đoan, điều này có thể thay đổi đáng kể kích thước của một thông báo và thông báo theo lô tổng thể trong Qpid. Mặc dù các đề xuất chung liên quan đến bộ nhớ và ổ đĩa trong các phần bên dưới vẫn đúng ngay cả trong những trường hợp như vậy, nhưng bạn có thể cần thực hiện thêm một số điều chỉnh đối với Qpid để đảm bảo hoạt động trơn tru.
Bộ nhớ
Qpid Broker sử dụng 2 loại bộ nhớ: bộ nhớ ngoài vùng nhớ heap và bộ nhớ heap. Qpid lưu trữ thông báo trong bộ nhớ ngoài vùng nhớ heap và sử dụng bộ nhớ heap cho các tác vụ nội bộ của riêng mình, chuyển trực tiếp thông báo đến hàng đợi và trao đổi, v.v. Trong hầu hết các trường hợp, Apigee khuyên bạn nên duy trì tỷ lệ 3:1 giữa bộ nhớ ngoài vùng nhớ heap và bộ nhớ heap cho Qpid Broker.
Các thông báo trong bộ nhớ ngoài vùng nhớ heap vẫn tồn tại trên ổ đĩa. Ngoài ra, nếu tổng mức sử dụng bộ nhớ ngoài vùng nhớ heap vượt quá một ngưỡng nhất định, thì Qpid sẽ được định cấu hình để tràn thông báo vào ổ đĩa.
Theo mặc định, Apigee tính toán bộ nhớ heap và bộ nhớ ngoài vùng nhớ heap của Qpid Broker dựa trên bộ nhớ có sẵn trên nút. Tập lệnh của Apigee có giới hạn mềm là 4 GB kết hợp cho bộ nhớ heap và bộ nhớ ngoài vùng nhớ heap của Qpid Broker. Nếu muốn ghi đè các giới hạn này, bạn có thể sử dụng 2 cấu hình bên dưới để đặt các giá trị riêng cho bộ nhớ heap và bộ nhớ ngoài vùng nhớ heap của Qpid.
- Cấu hình cho bộ nhớ heap:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m - Cấu hình cho bộ nhớ ngoài vùng nhớ heap:
bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m
Hãy xem Cách thay đổi cấu hình Qpid để biết thông tin về cách ghi đè cấu hình.
Để biết thêm thông tin, hãy xem bài viết Tài liệu tham khảo về Apache Qpid cho bộ nhớ.
Ổ đĩa
Thư mục dữ liệu của Qpid Broker là $APIGEE_ROOT/data/apigee-qpidd.
Nhật ký của Qpid Broker được lưu trữ trong $APIGEE_ROOT/var/log/apigee-qpidd.
Hiệu suất của hệ thống tệp lưu trữ thư mục dữ liệu là yếu tố then chốt đối với hiệu suất của Broker nói chung. Để có hiệu suất tốt nhất, hãy chọn một thiết bị có độ trễ thấp và không được các ứng dụng khác sử dụng.
Qpid Broker duy trì các thông báo trong thư mục dữ liệu. Theo mặc định, Broker sẽ chấp nhận thông báo cho đến khi hệ thống tệp lưu trữ thư mục dữ liệu đầy 80%. Bạn có thể sửa đổi ngưỡng này bằng cách ghi đè cấu hình được hiển thị trong ví dụ bên dưới trên mỗi nút Qpid.
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
Trong ví dụ này, Broker từ chối các thông báo mới khi hệ thống tệp cơ bản đầy 60% .
Cách thay đổi cấu hình Qpid
Cách thay đổi cấu hình Qpid:
- Tạo hoặc chỉnh sửa tệp sau:
$APIGEE_ROOT/customer/application/qpidd.properties
- Thêm, xoá hoặc sửa đổi cấu hình khi cần.
Ví dụ: để thay đổi bộ nhớ heap tối đa của Qpid Broker thành 6 GB, hãy thêm cấu hình
ghi đè sau vào tệp:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- Lưu các thay đổi và đảm bảo tệp thuộc sở hữu của người dùng
apigeevà có thể đọc được:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Khởi động lại quy trình
qpidd:apigee-service apigee-qpidd restart