Mesaj İşleyici'de L1 önbellek geçerlilik süresini belirleyin

Apigee Edge, istekler genelinde verilerin kalıcılığı için önbelleğe alma sağlar. API verileri alındığında, kısa bir süre için önbellekte saklanır ve ardından silinir. Bir veri parçasının silinmeden önce tutulduğu maksimum süreye önbelleğin kullanım süresi veya geçerlilik süresi (TTL) denir. Her önbelleğin varsayılan bir TTL'si vardır ancak bazı durumlarda API performansını iyileştirmek için TTL değerini değiştirmeniz gerekebilir.

Önbellek türleri

API verileri iki tür önbellekte depolanır:

  • 1. Düzey (L1): Erişimi daha hızlı ancak kullanılabilir depolama kapasitesi daha düşük olan bellek içi önbellek.
  • Seviye 2 (L2): Cassandra veri deposundaki kalıcı önbellek, daha yavaş erişime ancak daha fazla kullanılabilir depolama kapasitesine sahiptir.

L1 önbellekteki bir veri girişi L1 TTL'ye ulaştığında söz konusu veri girişi silinir. Bununla birlikte, girişin bir kopyası L2 önbelleğinde (L1 önbelleğinden daha uzun bir TTL'ye sahiptir) saklanır ve diğer mesaj işlemcileri tarafından erişilebilir durumda kalır. Önbellek hakkında daha fazla bilgi edinmek için Bellek içi ve kalıcı önbellek düzeyleri bölümüne bakın.

Maks. L1 TTL

Private Cloud için Edge'de, Max L1 TTL özelliğini (conf_cache_max.l1.ttl.in.seconds) kullanarak her mesaj işlemcisi için maksimum L1 önbellek TTL'sini ayarlayabilirsiniz. L1 önbellekteki bir giriş, Max L1 TTL değerine ulaşıldıktan sonra silinir ve silinir.

Notes:

  • Varsayılan olarak, Maks. L1 TTL devre dışı bırakılır (-1 değeriyle). Bu durumda L1 önbelleğindeki bir girişin TTL'si, PopulateCache politikasının geçerlilik süresi ayarları (hem L1 hem de L2 önbellek için) tarafından belirlenir.
  • Maks. L1 TTL yalnızca değer, genel önbellek geçerlilik süresinden küçükse etkili olur.

Maksimum L1 TTL'yi Ayarlama

Max L1 TTL'yi bir mesaj işlemcisinde aşağıdaki şekilde ayarlayabilirsiniz:

  1. Bir düzenleyicide yapılandırma dosyasını /opt/apigee/customer/application/message-processor.properties açın. Dosya yoksa oluşturun.
  2. Max L1 TTL özelliğini istenen değere ayarlayın:
    conf_cache_max.l1.ttl.in.seconds = 180

    180 saniye değerini öneririz.

  3. Özellikler dosyasının "Apigee" kullanıcısına ait olduğundan emin olun:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Mesaj işlemcisini yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Maks. L1 TTL'sini ayarlama yönergeleri

Maks. L1 TTL'yi ayarlarken aşağıdaki yönergeleri göz önünde bulundurun:

  • RPC eksikleri: Özellikle birden fazla veri merkezinde mesaj işlemcileri (MP'ler) arasında uzak prosedür çağrısı (RPC) eksikleri fark ederseniz L1 önbelleğinde eski girişler olabilir. Bu girişler, L1 önbelleğinden silinene kadar eski kalır. Max L1 TTL'yi daha düşük bir değere ayarlamak, eski girişlerin kaldırılmasına ve L2 önbellekten yeni değerlerle daha kısa sürede değiştirilmesine neden olur.
    Çözüm: conf_cache_max.l1.ttl.in.seconds değerini azaltın.
  • Casandra'da aşırı yük: Max L1 TTL için bir değer ayarladığınızda L1 önbellek girişlerinin süresi daha sık dolar. Bu da daha fazla L1 önbellek hatasına ve daha fazla L2 önbellek isabetine neden olur. L2 önbelleği daha sık vurulacağı için Cassandra daha fazla yüke neden olur.
    Çözüm: conf_cache_max.l1.ttl.in.seconds değerini artırın

Genel kural olarak Max L1 TTL'yi, MP'ler arasındaki RPC eksikliklerinin sıklığını Cassandra'daki potansiyel yükle dengeleyen bir değere ayarlayın.

İşlemenin sorunsuz şekilde devam etmesi için conf_cache_max.l1.ttl.in.seconds değerini en az 180 saniye (3 dakika) olarak belirlemenizi öneririz.