全部产品
Search
文档中心

Application Real-Time Monitoring Service:Laporan uji kinerja teknologi profil berkelanjutan agen ARMS untuk Java v4.x

更新时间:Jun 27, 2025

Application Real-Time Monitoring Service (ARMS) menyediakan teknologi profil berkelanjutan untuk aplikasi selama waktu proses. Seperti alat pengumpulan data lainnya, teknologi ini memperkenalkan tingkat overhead kinerja tertentu. Namun, ARMS telah menerapkan beberapa teknik optimasi untuk meminimalkan overhead tersebut, memastikan operasi aplikasi yang stabil. Dalam laporan ini, skenario penggunaan dunia nyata disimulasikan untuk menguji overhead kinerja yang diperkenalkan oleh profil berkelanjutan di bawah kondisi lalu lintas bisnis yang berbeda. Anda dapat merujuk pada laporan ini untuk mengevaluasi dampak kinerja sebelum menggunakan profil berkelanjutan.

Skema Pengujian

Flowchart:

Dikembangkan dalam model Spring Web model-view-controller (MVC), aplikasi Java mengakses MySQL dan Redis berdasarkan permintaan yang dikirim dari Alibaba Cloud Performance Testing (PTS). Untuk permintaan ${mall-gateway}/case/api/v1/mysql/execute, aplikasi mengakses MySQL 1 hingga 4 kali per permintaan. Untuk permintaan ${mall-gateway}/case/api/v1/redis/execute, aplikasi mengakses Redis 1 hingga 10 kali per permintaan. Setiap tipe permintaan mencakup 50% dari queries per second (QPS).

Lingkungan Pengujian

  • Sumber uji stres disediakan oleh PTS.

  • Aplikasi Java, MySQL, dan Redis semuanya ditempatkan di kluster Container Service for Kubernetes (ACK) milik Alibaba Cloud yang sama. Tipe instans node adalah ecs.u1-c1m2.8xlarge, menjalankan Alibaba Cloud Linux 2.1903 LTS 64-bit.

  • Pod aplikasi dikonfigurasikan dengan 2 core, 4 GB memori, dan dua replika setiap pod.

  • Agen ARMS untuk Java v4.2.1 digunakan.

  • Demo Code Repository

Prosedur Pengujian

  1. Instal agen ARMS. Konfigurasikan laju sampling 10%. Lakukan tiga uji stres pada 500, 1.000, dan 2.000 QPS. Durasi setiap uji stres adalah 1 jam. Sebelum setiap uji stres, pemanasan aplikasi Java dilakukan pada 50 QPS selama 5 menit. Kemudian, jalankan aplikasi selama 30 menit. Ketika semua metrik menjadi stabil, aktifkan dinamis semua fitur profil berkelanjutan (termasuk diagnostik CPU, diagnostik memori, dan diagnostik kode), dan lanjutkan menjalankan aplikasi selama 30 menit lagi. Amati perbedaan berbagai metrik kinerja (overhead CPU, overhead memori, dan waktu respons) aplikasi sebelum dan sesudah mengaktifkan profil berkelanjutan.

  2. Ulangi uji stres dari langkah 1 dengan agen diaktifkan dan laju sampling diatur ke 100%. Bandingkan overhead CPU dan memori, serta waktu respons aplikasi.

Data metrik kinerja tanpa profil berkelanjutan

Item

Laju sampling 10%

Laju sampling 100%

CPU

Memori

Waktu Respons

CPU

Memori

Waktu Respons

500 QPS

8.112%

13.52%

55.5 ms

8.416%

13.62%

56.5 ms

1.000 QPS

15.247%

14.14%

62.9 ms

15.614%

14.42%

65.3 ms

2.000 QPS

30.550%

14.64%

70.6 ms

30.945%

14.67%

71.1 ms

Data metrik kinerja dengan profil berkelanjutan

Item

Laju sampling 10%

Laju sampling 100%

CPU

Memori

Waktu Respons

CPU

Memori

Waktu Respons

500 QPS

8.912%

15.52%

55.6 ms

9.316%

15.71%

56.6 ms

1.000 QPS

17.140%

16.24%

63.0 ms

17.710%

16.82%

65.4 ms

2.000 QPS

34.650%

16.84%

70.7 ms

35.245%

16.89%

71.3 ms

Overhead kinerja profil berkelanjutan

Item

Laju sampling 10%

Laju sampling 100%

CPU

Memori

Waktu Respons

CPU

Memori

Waktu Respons

500 QPS

+0.80%

+2.00%

+0.1 ms

+0.90%

+2.09%

+0.1 ms

1.000 QPS

+1.893%

+2.10%

+0.1 ms

+2.096%

+2.40%

+0.1 ms

2.000 QPS

+4.10%

+2.20%

+0.1 ms

+4.30%

+2.22%

+0.2 ms

Kesimpulan

  1. Mengaktifkan semua fitur profil berkelanjutan menghasilkan overhead CPU dan memori dalam batas 5%. Mengaktifkan hanya fitur tertentu, seperti diagnostik kode, lebih jauh mengurangi overhead tersebut.

  2. Profil berkelanjutan memberikan dampak minimal terhadap latensi aplikasi. Tidak ada perubahan signifikan dalam waktu respons yang diamati di bawah kondisi stres tipikal sebelum dan sesudah mengaktifkan profil berkelanjutan.