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

Apigee Edge, verilerin kalıcı olması için önbelleğe alma imkanı sunar dikkat edin. API verileri alındığında kısa bir süre için önbellekte saklanır. daha sonra silinir. Bir verinin silinmeden önce saklandığı maksimum süre , önbelleğin süresi veya geçerlilik süresi (TTL) olarak adlandırılır. Her önbelleğin varsayılan bir TTL'si vardır ancak bazı durumlarda TTL değerini değiştirmeniz gerekebilir API performansını iyileştirir.

Önbellek türleri

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

  • 1. Seviye (L1): Daha hızlı erişim olanağı sunan ancak daha az kullanılabilir depolama alanı sunan bellek içi önbellek kapasitesine sahip olur.
  • 2. Seviye (L2): Cassandra veri deposunda daha yavaş olan kalıcı önbellek daha fazla depolama alanı kapasitesine sahip.

L1 önbelleğindeki bir veri girişi L1 TTL'sine ulaştığında silinir. Ancak Girişin kopyası L2 önbelleğinde saklanır (L1 önbelleğinden daha uzun bir TTL'ye sahiptir), diğer mesaj işlemcileri tarafından erişilebilir. Bkz. Bellek içi ve kalıcı önbellek düzeyleri başlıklı makaleye göz atın.

Maks. L1 TTL

Özel Bulut için Edge'de, her mesaj için maksimum L1 önbellek TTL'sini ayarlayabilirsiniz maks. L1 TTL özelliğini (conf_cache_max.l1.ttl.in.seconds) kullanarak işleyen bir grup işlemci kullanın. L1 önbelleğindeki bir giriş, Maksimum L1 TTL değerine ulaşıldığında geçerliliğini yitirir ve silinir.

Notlar:

  • Varsayılan olarak, Maks. L1 TTL'si devre dışıdır (-1 değeriyle), Bu durumda, L1 önbelleğindeki bir girişin TTL'si belirlenir PopulateCache politikası, süre sonu ayarları (hem L1 hem de L2 önbellek için)
  • Maks. L1 TTL'si, yalnızca değeri önbellek geçerlilik süresinden kısa olduğunda etkili olur.

Maks. L1 TTL'si ayarlanıyor

Bir mesaj işlemcisinde Maks. L1 TTL'sini aşağıdaki şekilde ayarlayabilirsiniz:

  1. yapılandırma dosyası /opt/apigee/customer/application/message-processor.properties kullanabilirsiniz. Dosya yoksa, oluşturun.
  2. Max L1 TTL özelliğini istediğiniz değere ayarlayın:
    conf_cache_max.l1.ttl.in.seconds = 180

    180 saniye değerini öneririz.

  3. Özellikler dosyasının sahibi olarak "Apigee" bulunduğundan emin olun kullanıcı:
    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

Maksimum L1 TTL'sini ayarlama yönergeleri

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

  • RPC eksik: Uzak prosedür çağrısı (RPC) mesaj işlemcileri (MP) - veri merkezlerinde birden çok L1 önbelleğinde, silinene kadar eski kalan eski girişler olabilir. L1 önbelleğinden alınır. Maks. L1 TTL'si daha düşük bir değere ayarlandığında eski girişler kaldırılacak ve bunların yerini L2 önbelleğinden alınan yeni değerlerle değiştireceksiniz.
    . Çözüm: conf_cache_max.l1.ttl.in.seconds değerini azaltın.
  • Casandra'da aşırı yük: Maks. L1 TTL, L1 önbellek girişleri için bir değer belirlediğinizde süresi daha sık dolarsa daha fazla L1 önbelleğinde ve daha fazla L2 önbellek isabetinde artış yaşandı. L2 önbelleği daha sık tıklanacağı için Cassandra'nın yükü artar.
    . Çözüm: conf_cache_max.l1.ttl.in.seconds değerini artırın

Genel kural olarak Maks. L1 TTL'sini, frekansı dengeleyen bir değere ayarlayın. Cassandra'da potansiyel yük nedeniyle MP'ler arasında kaçan TBG oranı.

conf_cache_max.l1.ttl.in.seconds değerini en az şu değere ayarlamanızı öneririz: İşlemenin sorunsuz bir şekilde devam etmesi için 180 saniye (3 dakika).