평균을 구하는 방법. 로드 테스트 측정항목을 위해 Linux 시스템에서 실행 중인 3가지 Java 서비스의 RAM 및 CPU 사용량

평균을 구하는 방법. 로드 테스트 측정항목을 위해 Linux 시스템에서 실행 중인 3가지 Java 서비스의 RAM 및 CPU 사용량

로드 테스트를 위해 AWS 원격 Linux 머신을 사용하고 있습니다.

현재 저는 "top" 명령을 사용하고 있습니다

여기에 이미지 설명을 입력하세요.

그런 다음 Java 특정 서비스를 얻기 위해 더 많은 명령을 파이프했습니다.

여기에 이미지 설명을 입력하세요.

RAM을 사용하려면 "free" 명령을 사용합니다. 여기에 이미지 설명을 입력하세요.

이제 10-15개의 테스트 프로세스가 있다고 가정하고 애플리케이션을 실행하는 동안 평균 CPU 및 RAM %를 계산하고 싶습니다. 어떻게 계산할 수 있습니까?

답변1

솔루션을 찾았으므로 게시하면 Jmeter와 함께 PerfMon 플러그인을 사용하고 필요한 원격 Linux 시스템에 서버 에이전트를 설치하여 작업을 완료할 수 있습니다.

https://blogs.perficient.com/2016/04/07/how-to-monitor-the-servers-system-resource-using-jmeter-plugin/

다른 솔루션은 쉘 스크립트만 유지합니다.

for i in {1..200}; do
    sleep 0.25
    top -p 5431 -p 5476 -p 5442 -b -n1 |
    awk '{print$1,$9,$10,$NF}' |
    tail -3
done >> 25MedOnce.csv

다른 방법이 있습니다

for i in {1..10}; do
    sleep 2
    systemd-cgtop -m |
    grep -e service1 -e service2 -e service3 |
    tail -3
done

여기서는 서비스 이름을 언급해야 하며 CPU 및 MEM %가 표시됩니다.

관련 정보