Tüm Ürünler
Search
Belge Merkezi

Application Real-Time Monitoring Service:Continuous profiling performance overhead: ARMS agent for Java v4.x

Son Güncelleme:Oct 05, 2026

Application Real-Time Monitoring Service (ARMS), ARMS aracı aracılığıyla sürekli profil oluşturma özelliği sunar. Bu özellik, Java uygulamalarından çalışma zamanında CPU, bellek ve kod düzeyinde tanılama verileri toplar. Bu rapor, gerçekçi üretim iş yükleri altındaki bu ek yükü nicelendirir.

Temel bulgu: Tüm sürekli profil oluşturma özellikleri etkinleştirildiğinde, CPU ve bellek ek yükü %5'in altında kalır ve yanıt süresi 0,2 ms'den daha az artar.

Test kurulumu

Uygulama mimarisi

Test architecture

Test uygulaması Spring Web MVC ile oluşturulmuştur ve iki tür isteği işler:

  • ${mall-gateway}/case/api/v1/mysql/execute -- istek başına MySQL'e 1 ila 4 kez erişir

  • ${mall-gateway}/case/api/v1/redis/execute -- istek başına Redis'e 1 ila 10 kez erişir

Her istek türü, toplam saniye başına sorgu (QPS) sayısının %50'sini oluşturur.

Ortam

Bileşen Yapılandırma
Stres testi Alibaba Cloud Performance Testing (PTS)
Küme Alibaba Cloud Container Service for Kubernetes (ACK), tek küme
Düğüm örnek türü ecs.u1-c1m2.8xlarge
İşletim sistemi Alibaba Cloud Linux 2.1903 LTS 64-bit
Uygulama pod'ları 2 çekirdek, 4 GB bellek, 2 çoğaltma
ARMS aracı Java v4.2.1

Java uygulaması, MySQL ve Redis aynı ACK kümesine dağıtılmıştır.

Demo kodu: alibabacloud-microservice-demo/arms-demo

Yordam

Her test çalışması aşağıdaki sırayı izler:

  1. ARMS aracısını yükleyin ve örnekleme oranını (%10 veya %100) ayarlayın.

  2. Uygulamayı 5 dakika boyunca 50 QPS ile ısıtın.

  3. Sürekli profil oluşturma devre dışı bırakılmışken hedef QPS'de 30 dakika boyunca bir stres testi çalıştırın. Temel CPU kullanımı, bellek kullanımı ve yanıt süresini kaydedin.

  4. Tüm sürekli profil oluşturma özelliklerini dinamik olarak etkinleştirin: CPU tanılama, bellek tanılama ve kod tanılama. Stres testini başka 30 dakika daha sürdürün ve aynı ölçümleri kaydedin.

Her stres testi toplamda 1 saat sürer. Testler, hem %10 hem de %100 örnekleme oranları için 500, 1.000 ve 2.000 QPS'de tekrarlanır.

Temel çizgi: Sürekli profil oluşturma olmadan performans

QPS Örnekleme oranı CPU Bellek Yanıt süresi
500 %10 %8.112 %13,52 55,5 ms
500 %100 %8.416 %13,62 56,5 ms
1.000 %10 %15.247 %14,14 62,9 ms
1.000 %100 %15.614 %14,42 65,3 ms
2.000 %10 %30.550 %14,64 70,6 ms
2.000 %100 %30.945 %14,67 71,1 ms

Sürekli profil oluşturma etkinleştirildiğinde performans

QPS Örnekleme oranı CPU Bellek Yanıt süresi
500 %10 %8.912 %15,52 55,6 ms
500 %100 %9.316 %15,71 56,6 ms
1.000 %10 %17.140 %16,24 63,0 ms
1.000 %100 %17.710 %16,82 65,4 ms
2.000 %10 %34.650 %16,84 70,7 ms
2.000 %100 %35.245 %16,89 71,3 ms

Sürekli profil oluşturmadan kaynaklanan ek yük

Bu tablo, sürekli profil oluşturmaktan kaynaklanan ek yükü izole eder. Aynı test çalışması içinde özelliği etkinleştirmeden önce ve sonra ölçümleri karşılaştırır.

QPS Örnekleme oranı CPU Bellek Yanıt süresi
500 %10 +%0,80 +%2,00 +0,1 ms
500 %100 +%0,90 +%2,09 +0,1 ms
1.000 %10 +%1.893 +%2,10 +0,1 ms
1.000 %100 +%2.096 +%2,40 +0,1 ms
2.000 %10 +%4,10 +%2,20 +0,1 ms
2.000 %100 +%4,30 +%2,22 +0,2 ms

Temel gözlemler:

  • CPU ek yükü QPS ile ölçeklenir: 500 QPS'de +%0,80'den 2.000 QPS'de +%4,30'a (%100 örnekleme). Test edilen tüm yük seviyelerinde CPU ek yükü %5'in altında kalır.

  • Bellek ek yükü, tüm yük seviyelerinde ve örnekleme oranlarında yaklaşık +%2 düzeyinde tutarlı kalır.

  • Yanıt süresi 0,1 ila 0,2 ms artar; bu, son kullanıcı gecikme süresi üzerinde ihmal edilebilir bir etkidir.

Sonuç

  • Tüm sürekli profil oluşturma özellikleri (CPU tanılama, bellek tanılama ve kod tanılama) etkinleştirildiğinde, CPU ve bellek ek yükü %5 içinde kalır. Özelliklerin bir alt kümesinin etkinleştirilmesi ek yükü daha da azaltır.

  • Sürekli profil oluşturma, uygulama gecikme süresi üzerinde ihmal edilebilir bir etkiye sahiptir. Yanıt süresi, test edilen koşullar altında en fazla 0,2 ms artar.