Sửa đổi cài đặt bộ nhớ Java

Tuỳ thuộc vào các yêu cầu về lưu lượng truy cập và xử lý, bạn có thể sẽ cần thay đổi dung lượng bộ nhớ vùng nhớ khối xếp hoặc kích thước siêu dữ liệu lớp cho các nút đang chạy thành phần Đám mây riêng tư dựa trên Java.

Phần này cung cấp kích thước bộ nhớ vùng nhớ khối xếp Java mặc định và được đề xuất, cũng như quy trình thay đổi kích thước mặc định. Cuối cùng, phần này mô tả cách thay đổi các chế độ cài đặt khác của máy ảo Java bằng cách sử dụng tệp thuộc tính.

Kích thước bộ nhớ vùng nhớ khối xếp mặc định và được đề xuất

Bảng sau đây liệt kê kích thước bộ nhớ vùng nhớ khối xếp Java mặc định và được đề xuất cho các thành phần Đám mây riêng tư dựa trên Java:

Thành phần Tên tệp thuộc tính Mặc định
Kích thước vùng nhớ khối xếp
Nên dùng
Kích thước vùng nhớ khối xếp
Thời gian chạy
Cassandra không áp dụng Được định cấu hình tự động1 Được định cấu hình tự động1
Bộ xử lý thư message-processor.properties 512 MB 3 GB – 6 GB2
Bộ định tuyến router.properties 512 MB 512 MB
Analytics
Máy chủ Postgres postgres-server.properties 512 MB 512 MB
Máy chủ Qpid qpid-server.properties 512 MB 2 GB – 4 GB
Quản lý
Máy chủ quản lý management-server.properties 512 MB 512 MB
Giao diện người dùng ui.properties 512 MB 512 MB
OpenLDAP không áp dụng Ứng dụng gốc3 Ứng dụng gốc3
Người trông coi động vật zookeeper.properties 2.048 MB 2.048 MB
Ghi chú

1 Cassandra tự động tính toán kích thước vùng nhớ khối xếp tối đa khi khởi động. Hiện tại, dung lượng này bằng một nửa tổng bộ nhớ hệ thống, với tối đa là 8192 MB. Để biết thông tin về cách đặt kích thước vùng nhớ khối xếp, hãy xem phần Thay đổi kích thước bộ nhớ vùng nhớ khối xếp.

2 Đối với Bộ xử lý thư, Apigee khuyên bạn nên đặt kích thước vùng nhớ khối xếp trong khoảng từ 3 GB đến 6 GB. Chỉ tăng kích thước vùng nhớ khối xếp lên hơn 6 GB sau khi tiến hành kiểm thử hiệu suất.

Nếu mức sử dụng vùng nhớ khối xếp gần đạt đến giới hạn tối đa trong quá trình kiểm thử hiệu suất, hãy tăng giới hạn tối đa. Để biết thông tin về cách đặt kích thước vùng nhớ khối xếp, hãy xem phần Thay đổi kích thước bộ nhớ vùng nhớ khối xếp.

3 Không phải thành phần nào của Đám mây riêng tư cũng được triển khai trong Java. Vì không dựa trên Java, nên các ứng dụng chạy nguyên gốc trên nền tảng lưu trữ không có kích thước vùng nhớ khối xếp Java có thể định cấu hình; thay vào đó, các ứng dụng này dựa vào hệ thống lưu trữ để quản lý bộ nhớ.

Để xác định tổng bộ nhớ mà Apigee nên phân bổ cho các thành phần dựa trên Java trên một nút, hãy thêm các giá trị liệt kê ở trên cho mỗi thành phần trên nút đó. Ví dụ: nếu nút của bạn lưu trữ cả máy chủ Postgres và Qpid, thì Apigee nên phân bổ bộ nhớ kết hợp trong khoảng từ 2,5 GB đến 4,5 GB.

Để biết danh sách phần cứng cần thiết (chẳng hạn như RAM), hãy xem Yêu cầu về việc cài đặt.

Thay đổi kích thước bộ nhớ vùng nhớ khối xếp

Để thay đổi chế độ cài đặt bộ nhớ vùng nhớ khối xếp, hãy chỉnh sửa tệp thuộc tính cho thành phần. Ví dụ: đối với Trình xử lý tin nhắn, hãy chỉnh sửa tệp /opt/apigee/customer/application/message-processor.properties.

Nếu tệp message-processor.properties không tồn tại hoặc nếu tệp .properties tương ứng cho bất kỳ thành phần Edge nào không tồn tại, hãy tạo tệp rồi thay đổi quyền sở hữu tệp thành người dùng "apigee", như ví dụ sau cho thấy:

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

Nếu thành phần đó được cài đặt trên nhiều máy, chẳng hạn như Bộ xử lý thư, thì bạn phải chỉnh sửa tệp thuộc tính trên tất cả các máy lưu trữ thành phần đó.

Bảng sau đây liệt kê các thuộc tính mà bạn chỉnh sửa để thay đổi kích thước vùng nhớ khối xếp:

Tài sản Nội dung mô tả
bin_setenv_min_mem

Kích thước vùng nhớ khối xếp tối thiểu. Giá trị mặc định dựa trên các giá trị được liệt kê trong phần Kích thước bộ nhớ vùng nhớ khối xếp mặc định và được đề xuất.

Chế độ cài đặt này tương ứng với tuỳ chọn -Xms của Java.

bin_setenv_max_mem

Kích thước tối đa của vùng nhớ khối xếp. Giá trị mặc định dựa trên các giá trị được liệt kê trong phần Kích thước bộ nhớ vùng nhớ khối xếp mặc định và được đề xuất.

Chế độ cài đặt này tương ứng với tuỳ chọn -Xmx của Java.

bin_setenv_meta_space_size

Kích thước siêu dữ liệu mặc định của lớp. Giá trị mặc định được đặt thành giá trị bin_setenv_max_permsize, mặc định là 128 MB. Trên Trình xử lý tin nhắn, Apigee khuyên bạn nên đặt giá trị này là 256 MB hoặc 512 MB, tuỳ thuộc vào lưu lượng truy cập của bạn.

Chế độ cài đặt này tương ứng với tuỳ chọn -XX:MetaspaceSize của Java.

Khi bạn đặt thuộc tính kích thước vùng nhớ khối xếp trên một nút, hãy sử dụng hậu tố "m" để biểu thị megabyte, như trong ví dụ sau:

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

Sau khi đặt các giá trị trong tệp thuộc tính, hãy khởi động lại thành phần:

/opt/apigee/apigee-service/bin/apigee-service component restart

Ví dụ:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Thay đổi các thuộc tính JVM khác

Đối với các chế độ cài đặt Java không do các thuộc tính nêu trên kiểm soát, bạn cũng có thể thiết lập như sau trong tệp thuộc tính tương ứng cho bất kỳ thành phần Edge nào:

  • bin_setenv_ext_jvm_opts: Đặt bất kỳ thuộc tính Java nào chưa được các thuộc tính khác chỉ định. Ví dụ:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    Tuy nhiên, đừng sử dụng bin_setenv_ext_jvm_opts để đặt -Xms, -Xmx hoặc -XX:MetaspaceSize vì các giá trị này do các thuộc tính nêu trên kiểm soát.

Để biết thêm mẹo về cách định cấu hình bộ nhớ cho các thành phần trên Đám mây riêng tư, hãy xem bài viết này trên các diễn đàn về Edge.