Tüm Ürünler
Search
Belge Merkezi

Application Real-Time Monitoring Service:Java V4.x için ARMS aracısının performans testi raporu

Son Güncelleme:Oct 05, 2026

Application Real-Time Monitoring Service (ARMS) aracısı, uygulama performansını yönetmek amacıyla uygulama çalışma zamanında byte kodlarını iyileştirir. Byte kod iyileştirmesi yoluyla uygulanan diğer performans yönetimi çözümlerine benzer şekilde, Java için ARMS aracısı belirli bir performans yükü getirir. Ancak ARMS ekibi, uygulama kararlığını bozmadan aracının performans yükünü azaltmak için birçok teknik kullanır. Bu test raporunda, farklı trafik senaryoları simüle edilerek Java V4.x için ARMS aracısının performans yükü test edilir. Uygulamanızı Application Monitoring hizmetine bağlamadan önce kapsamlı bir değerlendirme yapmak üzere bu rapora bakmanızı öneririz.

Test senaryoları

Akış şeması

image

Spring Web model-view-controller (MVC) modeli kullanılarak geliştirilen Java uygulaması, Alibaba Cloud Performance Testing (PTS) üzerinden gönderilen isteklere dayanarak Druid ve Jedis çerçeveleri aracılığıyla MySQL ve Redis hizmetlerine erişir.

  • Uygulama, ${mall-gateway}/case/api/v1/mysql/execute isteklerini aldığında MySQL hizmetine erişir. Uygulama bu isteği her aldığında MySQL hizmetine 1 ila 4 kez erişir.

  • Uygulama, ${mall-gateway}/case/api/v1/redis/execute isteklerini aldığında Redis hizmetine erişir. Uygulama bu isteği her aldığında Redis hizmetine 1 ila 10 kez erişir.

Test ortamı

  • Stres testi kaynağını PTS sağlar.

  • Java uygulaması, MySQL ve Redis aynı Alibaba Cloud Container Service for Kubernetes (ACK) kümesinde dağıtılır. Düğümlerin örnek türü ecs.u1-c1m2.8xlarge olup düğümlerin işletim sistemi sürümü Alibaba Cloud Linux 2.1903 LTS 64-bittir.

  • Uygulamanın her bir pod'u 2 çekirdekli işlemciye ve 4 GB belleğe sahiptir; iki çoğaltma bulunur. JVM parametreleri aşağıdaki gibidir:

    -Xms3500m -Xmx3500m -XX:MetaspaceSize=500m
  • Java için ARMS aracısı sürümü 4.2.1'dir.

  • Örnek kod

Test prosedürü

  1. Sırasıyla 500, 1.000 ve 2.000 QPS değerlerinde üç stres testi gerçekleştirin. Her stres testi 1 saat sürer. Her stres testinden önce Java uygulamasını 3 dakika boyunca 100 QPS hızında ısındırın. Test sonucu temel performans ölçümleri olarak kullanılacaktır.

  2. Java için ARMS aracısı V4.1.11 sürümünü yükleyin. Örnekleme ilkesinde %10 örnekleme oranı yapılandırın ve Java uygulamasının CPU yükü, bellek yükü ile yanıt süresi arasındaki farkları karşılaştırmak için 1. Adımdaki stres testlerini tekrarlayın.

  3. Java için ARMS aracısı V4.1.11 sürümünü yükleyin. Örnekleme ilkesinde %100 örnekleme oranı yapılandırın ve Java uygulamasının CPU yükü, bellek yükü ile yanıt süresi arasındaki farkları karşılaştırmak için 1. Adımdaki stres testlerini tekrarlayın.

Not
  • Örnekleme ilkesinin nasıl yapılandırılacağı hakkında daha fazla bilgi için İz örnekleme modları (Aracı V3.2.8 veya sonraki sürümler) konusuna bakın.

  • Ölçümler, izler ve yüzdeler dahil olmak üzere Application Monitoring'in temel özellikleri etkinleştirilir. Tüm eklentiler de etkinleştirilir. İz sıkıştırma, URL birleştirme, veri maskeleme ve sürekli profil oluşturma gibi bazı gelişmiş özellikler geçici olarak devre dışı bırakılır.

Temel performans ölçümleri


Öğe


CPU


Bellek


Yanıt süresi (Birim: milisaniye)


500 QPS


%6.737


%11,51


57,6


1.000 QPS


%13.040


%11,81


63,9


2.000 QPS


%26.796


%12,19


70,5

Not
  • CPU ölçümü, pod'lar tarafından kullanılan CPU'nun toplam CPU'ya (2 çekirdek) oranını yüzdesel olarak ifade eder.

  • Bellek ölçümü, pod'lar tarafından kullanılan belleğin toplam belleğe oranını yüzdesel olarak ifade eder. Pod'lar tarafından kullanılan bellek doğal olarak istekler (requests) değerine ulaşana kadar arttığından raporda stres testlerinin sonunda gerçekleşen gerçek bellek kullanımı dikkate alınır.

  • Yanıt süresi ölçümü, isteklerin ortalama yanıt süresini temsil eder. Birim milisaniyedir.

Java V4.x için ARMS aracısının performans ölçümleri

Öğe

%10 örnekleme oranı

%100 örnekleme oranı

CPU

Bellek

Yanıt süresi (Birim: milisaniye)

CPU

Bellek

Yanıt süresi (Birim: milisaniye)

500 QPS

%8.412

%13,72

58,5

%9.316

%13,91

58,7

1.000 QPS

%16.947

%14,14

64,9

%18.114

%14,42

65,3

2.000 QPS

%34.850

%14,64

74,6

%35.945

%14,67

76,1

Not

Örnekleme oranı ile hem CPU hem de QPS arasındaki ilişki doğrusal değildir. Varsayılan olarak saniye başına iz toplama için bir üst sınır bulunur.

Java V4.x için ARMS aracısının performans yükü

Öğe

%10 örnekleme oranı

%100 örnekleme oranı

CPU

Bellek

Yanıt süresi (Birim: milisaniye)

CPU

Bellek

Yanıt süresi (Birim: milisaniye)

500 QPS

+%1,68

+%2,21

+0,9

+%2,58

+%2,40

+1,1

1.000 QPS

+%3.907

+%2,33

+1,0

+%5,07

+%2,61

+1,4

2.000 QPS

+%8,05

+%2,45

+4,1

+%9,14

+%2,48

+5,6

Sonuç

  1. Java V4.x için ARMS aracısından kaynaklanan ek CPU ve bellek yükü %10 içinde kalır.

  2. Java V4.x için ARMS aracısı yanıt süresi üzerinde küçük bir etkiye (%10) sahiptir; 1.000 QPS hızında artış yalnızca 1 milisaniyedir.

  3. %100 sabit örnekleme oranındaki performans yükü, %10 sabit örnekleme oranındakinden biraz daha fazladır.