Edge for Private Cloud 4.54.00'da (Java 21'de çalışır) Message Processor, varsayılan olarak Garbage-First Garbage Collector'ı (G1GC) kullanır. Bu dokümanda, Mesaj İşleyici'de çöp toplama ayarlarının nasıl yapılandırılacağı ve doğrulanacağı açıklanmaktadır.
Mesaj İşleyiciler'de çöp toplayıcıyı özelleştirme
Bu bölümde, Edge Mesaj İşleyici'de alternatif atık toplama (GC) ayarlarını yapılandırma prosedürü özetlenmektedir. GC parametrelerini, Mesaj İşleyici'deki GC özelliklerini güncelleyerek yönetirsiniz. Herhangi bir yapılandırma özelliğini ayarlamak için Edge'i yapılandırma bölümünde tanımlanan jeton söz dizimini kullanın.
GC ayarlarını Mesaj İşleyiciler'de değiştirmek için aşağıdaki adımları uygulayın:
GC mülkünü kontrol edin
Aşağıdaki adımlarda, yapılandırılmış GC özelliklerinin nasıl kontrol edileceği açıklanmaktadır:
-
Aşağıdaki komutu kullanarak Mesaj İşleyici kaynak dizininde
/opt/apigee/edge-message-processor/sourceGC özelliklerini arayın:grep -riE "useG1GC|useZGC|useStringDeduplication" /opt/apigee/edge-message-processor/source
-
Bu komutun çıkışında, Mesaj İşleyici için GC özelliklerinin yapılandırmasının gösterildiğini doğrulayın:
/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}{T}{/T}etiketleri arasındaki dize, Mesaj İşleyici'nin.propertiesdosyasında ayarlayabileceğiniz özelliğin adıdır.
Mesaj İşleyicilerde GC'yi değiştirme
Aşağıdaki adımlarda, Apigee Mesaj İşlemciler'de GC ayarlarının nasıl değiştirileceği açıklanmaktadır:
-
Mesaj İşleyici makinesindeki
/opt/apigee/customer/application/message-processor.propertiesdosyasını bir düzenleyicide açın. Dosya mevcut değilse oluşturun. Örneğin:vi /opt/apigee/customer/application/message-processor.properties
-
Hedef profilinize göre istediğiniz GC yapılandırma satırlarını ekleyin:
-
A seçeneği: Bazı değişikliklerle birlikte varsayılan çöp toplayıcı olarak G1GC'yi kullanın:
conf_system_useG1GC=true conf_system_useStringDeduplication=true conf_system_g1gc.g1ReservePercent=15
-
B seçeneği: Nesilsel ZGC'yi etkinleştirin (Ultra düşük gecikmeli dağıtımlar için isteğe bağlıdır):
conf_system_useG1GC=false conf_system_useZGC=true bin_setenv_max_meta_space_size=1024m
-
3. seçenek: Genel bir GC ayarını etkinleştirme:
Genel GC özelliklerini yapılandırmak için bileşenin
.propertiesgeçersiz kılma dosyasında (/opt/apigee/customer/application/message-processor.properties)bin_setenv_ext_jvm_optsdeğerini ayarlayın ve ardından bileşeni yeniden başlatın. Örneğin:conf_system_useG1GC=false conf_system_useZGC=false bin_setenv_ext_jvm_opts="-XX:+UseParallelGC"
-
A seçeneği: Bazı değişikliklerle birlikte varsayılan çöp toplayıcı olarak G1GC'yi kullanın:
- Değişikliklerinizi kaydedin.
-
Bu özellikler dosyasının sahibinin
apigeekullanıcısı olduğundan emin olun. Örneğin:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Aşağıdaki komutu kullanarak Mesaj İşleyici'yi yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Birden fazla Mesaj İşleyiciniz varsa bu adımları tüm Mesaj İşleyicilerde tekrarlayın.
Dize tekilleştirmeyi güncelleme
Varsayılan olarak G1GC yapılandırması, UseStringDeduplication değerini true olarak ayarlar. Bu sayede, aynı String değerlerinin tek bir karakter dizisini paylaşmasına izin vererek Java yığın bellek ayırmasını optimize eder. Dize tekilleştirmeyi devre dışı bırakmak için /opt/apigee/customer/application/message-processor.properties içinde conf_system_useStringDeduplication=false değerini ayarlayın ve Mesaj İşlemcilerde GC'yi değiştirme bölümünde açıklandığı gibi Mesaj İşlemci'yi yeniden başlatın.
Mesaj İşleyicilerinde GC yapılandırmasını doğrulama
GC yapılandırma değişikliklerinizin Message Processor'da uygulandığını doğrulamak için:
-
/opt/apigee/edge-message-processor/confdizininde GC mülkünü arayın ve yeni değerle ayarlandığını kontrol edin. Örneğin:grep -riE "useG1GC|useZGC|g1gc\.|useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
/opt/apigee/edge-message-processor/conf/system.propertiesdeğerinin yeni yapılandırılan değerlerinizi yansıttığını doğrulayın. Örneğin, Apigee Default GC ayarları aşağıdaki gibi gösterilir:/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
-
Çalışan Mesaj İşleyici JVM işleminin beklenen
-XX:işaretleriyle başlatıldığını doğrulayın:ps -ef | grep edge-message-processor | grep -E "UseG1GC|UseZGC"
-
Apigee Default G1GC için komut satırının aşağıdakileri içerdiğini doğrulayın:
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:G1ReservePercent=15 -XX:+UseStringDeduplication -XX:MaxMetaspaceSize=1024m -
Generational ZGC için komut satırının şunları içerdiğini doğrulayın:
-XX:+UseZGC -XX:+ZGenerational -XX:MaxMetaspaceSize=1024m
-
Apigee Default G1GC için komut satırının aşağıdakileri içerdiğini doğrulayın:
- GC ayarlarını hâlâ yapılandıramıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.