Định cấu hình trình thu gom rác cho Bộ xử lý thông báo

Trong Edge cho Đám mây riêng 4.54.00 (chạy trên Java 21), Trình xử lý thông báo sử dụng Trình thu thập rác đầu tiên (G1GC) theo mặc định. Tài liệu này mô tả cách định cấu hình và xác minh chế độ cài đặt thu gom rác trên Trình xử lý thông báo.

Tuỳ chỉnh bộ thu gom rác trên Trình xử lý thông báo

Phần này trình bày quy trình định cấu hình các chế độ cài đặt khác cho tính năng Thu gom rác (GC) trên Bộ xử lý thông báo Edge. Bạn quản lý các tham số GC bằng cách cập nhật các thuộc tính GC trên Trình xử lý thông báo. Để điều chỉnh mọi thuộc tính cấu hình, hãy dùng cú pháp mã thông báo được xác định trong phần Cách định cấu hình Edge.

Để sửa đổi chế độ cài đặt GC trên Bộ xử lý thông báo, hãy thực hiện các bước sau:

  1. Kiểm tra thuộc tính GC
  2. Sửa đổi GC trên Trình xử lý thông báo

Kiểm tra tài sản GC

Các bước sau đây mô tả cách kiểm tra các thuộc tính GC đã định cấu hình:

  1. Tìm kiếm các thuộc tính GC trong thư mục nguồn Message Processor /opt/apigee/edge-message-processor/source bằng lệnh sau:
    grep -riE "useG1GC|useZGC|useStringDeduplication" /opt/apigee/edge-message-processor/source
    
  2. Xác nhận rằng đầu ra của lệnh này cho thấy cấu hình của các thuộc tính GC cho Trình xử lý thông báo:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T}
    /opt/apigee/edge-message-processor/source/conf/system.properties:useZGC={T}conf_system_useZGC{/T}
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}

    Chuỗi giữa các thẻ {T}{/T} là tên của thuộc tính mà bạn có thể đặt trong tệp .properties của Trình xử lý thông báo.

Sửa đổi GC trên Trình xử lý thông báo

Các bước sau đây mô tả cách sửa đổi chế độ cài đặt GC trên Bộ xử lý thông báo Apigee:

  1. Mở tệp /opt/apigee/customer/application/message-processor.properties trên máy Bộ xử lý thông báo trong trình chỉnh sửa. Nếu tệp chưa tồn tại, hãy tạo tệp đó. Ví dụ:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Thêm các dòng cấu hình GC mong muốn dựa trên hồ sơ mục tiêu của bạn:
    • Cách A: Sử dụng G1GC làm trình thu thập rác mặc định cùng với một số sửa đổi:
      conf_system_useG1GC=true
      conf_system_useStringDeduplication=true
      conf_system_g1gc.g1ReservePercent=15
    • Cách B: Bật Generational ZGC (Không bắt buộc đối với các bản triển khai có độ trễ cực thấp):
      conf_system_useG1GC=false
      conf_system_useZGC=true
      bin_setenv_max_meta_space_size=1024m
    • Cách C: Bật chế độ cài đặt GC chung:

      Đặt bin_setenv_ext_jvm_opts trong tệp ghi đè .properties của thành phần (/opt/apigee/customer/application/message-processor.properties) để định cấu hình mọi thuộc tính GC chung, sau đó khởi động lại thành phần. Ví dụ:

      conf_system_useG1GC=false
      conf_system_useZGC=false
      bin_setenv_ext_jvm_opts="-XX:+UseParallelGC"
  3. Lưu thay đổi.
  4. Đảm bảo rằng tệp thuộc tính này thuộc sở hữu của người dùng apigee. Ví dụ:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Khởi động lại Trình xử lý tin nhắn bằng lệnh sau:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Nếu bạn có nhiều Bộ xử lý thông báo, hãy lặp lại các bước này trên tất cả Bộ xử lý thông báo.

Cập nhật tính năng loại bỏ chuỗi trùng lặp

Theo mặc định, cấu hình G1GC đặt UseStringDeduplication thành true, giúp tối ưu hoá việc phân bổ bộ nhớ khối xếp Java bằng cách cho phép các giá trị String giống hệt nhau dùng chung một mảng ký tự. Để tắt tính năng loại bỏ trùng lặp chuỗi, hãy đặt conf_system_useStringDeduplication=false trong /opt/apigee/customer/application/message-processor.properties và khởi động lại Trình xử lý tin nhắn, như mô tả trong phần Sửa đổi GC trên Trình xử lý tin nhắn.

Xác minh cấu hình GC trên Bộ xử lý thông báo

Cách xác minh rằng các thay đổi về cấu hình GC đã được áp dụng trên Bộ xử lý thông báo:

  1. Tìm thuộc tính GC trong thư mục /opt/apigee/edge-message-processor/conf và kiểm tra để đảm bảo rằng thuộc tính này đã được đặt bằng giá trị mới. Ví dụ:
    grep -riE "useG1GC|useZGC|g1gc\.|useStringDeduplication" /opt/apigee/edge-message-processor/conf
    
  2. Xác minh rằng /opt/apigee/edge-message-processor/conf/system.properties phản ánh các giá trị mới được định cấu hình. Ví dụ: chế độ cài đặt Apigee Default GC (GC mặc định của Apigee) sẽ hiển thị như sau:
    /opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true
    /opt/apigee/edge-message-processor/conf/system.properties:useZGC=false
    /opt/apigee/edge-message-processor/conf/system.properties:g1gc.maxGCPauseMillis=200
    /opt/apigee/edge-message-processor/conf/system.properties:g1gc.initiatingHeapOccupancyPercent=45
    /opt/apigee/edge-message-processor/conf/system.properties:g1gc.g1ReservePercent=15
    /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
  3. Xác minh rằng quy trình JVM của Trình xử lý thông báo đang chạy đã được bắt đầu bằng các cờ -XX: dự kiến:
    ps -ef | grep edge-message-processor | grep -E "UseG1GC|UseZGC"
    
    • Đối với Apigee Default G1GC, hãy xác nhận rằng dòng lệnh bao gồm: -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:G1ReservePercent=15 -XX:+UseStringDeduplication -XX:MaxMetaspaceSize=1024m
    • Đối với Generational ZGC, hãy xác nhận rằng dòng lệnh bao gồm: -XX:+UseZGC -XX:+ZGenerational -XX:MaxMetaspaceSize=1024m
  4. Nếu bạn vẫn không thể định cấu hình chế độ cài đặt GC, hãy liên hệ với Nhóm hỗ trợ Apigee Edge.

Tiếp theo là gì?