서버 성능을 측정하는 데 사용되는 다양한 벤치마크 중에서 rPerf와 tpmC는 각각 고유한 목적과 특성을 가진 중요한 지표입니다. 이 두 가지 지표는 서버 환경에 따라 적합한 벤치마크를 선택하는 데 도움을 줍니다. 이번 포스팅에서는 rPerf와 tpmC의 차이점과 주요 용도에 대해 알아보겠습니다.
1. rPerf (Relative Performance)

rPerf는 IBM Power Systems 서버의 성능을 측정하기 위해 IBM에서 개발한 지표로, 상대적 성능을 나타냅니다. 이 지표는 주로 CPU 성능을 기반으로 하며, IBM Power 서버 사용자들에게 유용하게 사용됩니다.
주요 용도:
- LPAR 또는 VM 크기 조정
- 새로운 POWER 서버 사이징
- 서버 통합 계획
- Live Partition Mobility를 통한 워크로드 이동
특징:
- IBM Power Systems에 특화된 지표로, CPU 성능에 중점을 둡니다.
- 기준 IBM Power Systems의 성능을 비교해 상대적으로 측정합니다.
- 공식 rPerf 수치는 특정 CPU 구성에 대해서만 제공되며, 다른 구성의 경우 추정치를 계산해야 합니다.
AIX LPAR에서 rPerf 성능 등급 측정 방법
rPerf (Relative Performance)는 IBM Power Systems 서버의 CPU 성능을 비교하는 데 사용되는 지표입니다. 이를 활용해 IBM의 AIX LPAR(Logical Partition, 가상 머신)에서 CPU 성능을 측정하고 서버 사이징이나 워크로드 관리에 유용한 정보를 얻을 수 있습니다.
이 글에서는 AIX LPAR에서 rPerf 성능을 계산하는 방법과 이를 위해 사용하는 Korn 쉘 스크립트를 소개합니다. 이 스크립트는 Nigel Griffiths가 작성한 간단한 스크립트로, IBM의 공식 문서에 따른 rPerf 값을 추정하는 데 사용됩니다.
1. rPerf란?
rPerf는 IBM Power Systems의 성능을 나타내는 상대적 성능 지표로, 서버의 CPU 성능을 비교하고 측정하는 데 활용됩니다. IBM에서 제공하는 공식 rPerf 숫자는 특정 CPU 구성(4-way, 8-way, 16-way 등)에 대해서만 제공되므로, 이를 기준으로 LPAR의 CPU 성능을 추정합니다.
2. rPerf 성능 측정을 위한 준비 사항
rPerf 성능을 측정하려면 다음과 같은 환경이 필요합니다:
- AIX Logical Partition (LPAR): AIX 가상 머신에서 작업이 이루어짐
- Korn 쉘 스크립트: Nigel Griffiths가 제공하는 스크립트를 사용
- IBM 공식 성능 데이터: IBM이 제공하는 CPU별 공식 rPerf 값
3. rPerf 계산을 위한 Korn 스크립트 실행
Nigel Griffiths의 Korn 쉘 스크립트는 AIX LPAR에서 rPerf 값을 계산하는 데 사용됩니다. 이 스크립트는 사용 중인 시스템의 CPU 개수와 머신 타입 모델(MTM)을 고려하여 공식 문서에 명시된 rPerf 값을 기반으로 성능을 추정합니다. 이 스크립트는 다음과 같은 방식으로 작동합니다:
스크립트 실행 방법
- rPerf 스크립트 다운로드:
- GitHub에서 스크립트를 다운로드합니다: rPerf 스크립트
- 다운로드 후 스크립트를 실행할 수 있도록 실행 권한을 부여합니다:
bash chmod ugo+x rperf
- 스크립트 실행:
- 다운로드한 스크립트를 AIX LPAR에서 실행합니다:
bash ./rperf
blue:nag:/home/nag/rperf $ rperf -?
Usage: .
./rperf [-vehH]
blue:nag:/home/nag/rperf $ rperf
82.77 rPerf estimated based on 8.00 Virtual CPU cores
blue:nag:/home/nag/rperf $ rperf -e
82.77 rPerf estimated based on 8.00 Virtual CPU cores
41.38 rPerf estimated based on 4.00 Uncapped Entitlement CPU cores
blue:nag:/home/nag/rperf $ rperf -h
blue 82.77 rPerf estimated based on 8.00 Virtual CPU cores
blue:nag:/home/nag/rperf $ rperf -h -e
blue 82.77 rPerf estimated based on 8.00 Virtual CPU cores
blue 41.38 rPerf estimated based on 4.00 Uncapped Entitlement CPU cores
blue:nag:/home/nag/rperf $ rperf -v
Information is from public documents from www.ibm.com
-- - System p Performance Report
-- - System p Facts and Features Document
-- - Power Systems Facts and Features Document
-- - rperf script Version:31 Date:18thJune2015
Machine=IBM,8233-E8B MHz=3550 Rounded-MHz=3550 CPUs=8 CPUType=PowerPC_POWER7
lookup IBM,8233-E8B_3550_8
matchup 32 331.06
calculate cpus=8 from 32 331.06
82.77 rPerf estimated based on 8.00 Virtual CPU cores
41.38 rPerf estimated based on 4.00 Uncapped Entitlement CPU cores
blue:nag:/home/nag/rperf $ rperf -H
rperf -v -e -h -H
-v = verbose mode and Entitlement (-e)
-e = output Entitlement rating and Capped / Uncapped state (in addition)
-h = output the short hostname at the start of the line
-H = Help = this output
rperf outputs the performance number of the current machine or LPAR
either Relative Performance (rPerf) or Relative OLTP (roltp)
Depending on the age of the machine.
There is no simple way to convert from roltp to rPerf - sorry.
If it says estimated then it is NOT an official number.
For LPARs the number may be estimated but it is a simple maths calculation
i.e. if we have the official number for 4 CPUs then a 1 CPU LPAR is simply
a fourth - this will be an under estimate.
스크립트 기능 설명
- 이 스크립트는 시스템의 CPU 개수와 Machine-Type-Model을 찾아 해당 시스템에 대한 rPerf 값을 계산합니다.
- CPU 개수가 공식적으로 제공된 수치(예: 4-way, 8-way)가 아닌 경우, 스크립트는 인근 CPU 수의 공식 rPerf 값을 기반으로 대략적인 추정치를 제공합니다.
- 가상 프로세서(VP) 수를 기준으로 최대 CPU 개수를 계산합니다. 이를 통해 LPAR이 할당받을 수 있는 최대 CPU 수를 기반으로 성능을 측정합니다.
이 시나리오에서는 rPerf 스크립트를 실행하여 IBM 서버의 CPU 성능을 측정하고 있습니다. 사용자 환경 변수를 설정하여 특정 서버의 CPU 수에 따른 rPerf 성능을 추정하는 과정을 보여줍니다. 두 가지 다른 시스템의 성능 추정 결과를 예시로 설명하고 있습니다.
rPerf 추정치: IBM, 9119-FHB_4000_256, CPUS=250
rPerf 추정치를 계산:
- 서버 모델: IBM 9119-FHB
- CPU 수: 250개
- 스크립트는 공식 문서에 있는 256개 CPU에 대한 rPerf 수치를 사용하여 CPU가 250개일 때 성능을 추정합니다.
- 공식 데이터에서 32개 CPU는 372.27 rPerf, 256개 CPU는 2978.16 rPerf로 기록되어 있습니다.
- 250개의 CPU에 대한 성능은 공식 rPerf 데이터에서 추정된 결과로, 최종 2908.36 rPerf라는 수치가 출력됩니다.
$ export LOOKUP=IBM,9119-FHB_4000_256
$ export CPUS=250
$
$ rperf -v
rperf Debug mode using your shell variable LOOKUP
LOOKUP=IBM,9119-FHB_4000_256
rperf Debug mode using your shell variable CPUS
CPUS=250
Information is from public documents from www.ibm.com
-- - System p Performance Report
-- - System p Facts and Features Document
-- - Power Systems Facts and Features Document
lookup IBM,9119-FHB_4000_256
matchup 32 372.27 256 2978.16
calculate cpus=250 from 32 372.27
calculate cpus=250 from 256 2978.16
2908.36 rPerf estimated
$
rPerf 추정치: (실제 서버 환경: IBM 9117-MMA)
- 서버 모델: IBM 9117-MMA
- CPU 수: 3개 (PowerPC POWER6)
- 이 시스템에 대한 공식 rPerf 데이터는 다음과 같습니다:
- 2개 CPU = 20.13 rPerf
- 4개 CPU = 40.26 rPerf
- 스크립트는 이 데이터를 사용해 3개 CPU일 때의 성능을 추정합니다.
- 계산된 결과로 30.20 rPerf가 추정됩니다.
$ rperf -v
Information is from public documents from www.ibm.com
-- - System p Performance Report
-- - System p Facts and Features Document
-- - Power Systems Facts and Features Document
Machine=IBM,9117-MMA MHz=4704 Rounded-MHz=4700 CPUs=3 CPUType=PowerPC_POWER6
lookup IBM,9117-MMA_4700_3
matchup 2 20.13 4 40.26 8 74.89 12 105.89 16 134.35
calculate cpus=3 from 2 20.13
calculate cpus=3 from 4 40.26
30.20 rPerf estimated
$
4. 주요 문제 및 해결 방법
rPerf 성능 측정 시 발생할 수 있는 몇 가지 문제점과 해결 방법은 다음과 같습니다:
- 구형 서버:
- 일부 구형 IBM 서버는 공식 rPerf 숫자가 제공되지 않습니다. 이 경우, 스크립트는 roltp 값을 반환합니다. roltp는 다른 성능 지표로, rPerf와의 변환은 불가능하며 사용자 판단에 따라 적용해야 합니다.
- 비표준 CPU 개수:
- 공식적으로 제공된 CPU 수(4-way, 8-way 등) 외의 CPU 수에 대해선 스크립트가 추정치를 계산합니다. 이는 SMP 곡선을 단순화한 계산이므로, 정확하지 않을 수 있습니다.
- 공유 CPU LPAR:
- 공유 CPU LPAR에서 스크립트는 가상 프로세서(VP) 수를 기준으로 계산하므로, 일부 경우 Entitlement(자격량)을 고려하지 못할 수 있습니다. 다만, 비제한(LPAR uncapped) 모드에서는 Entitlement이 CPU 성능에 큰 영향을 주지 않습니다.
- 스크립트 업데이트:
- 이 스크립트는 간단한 쉘 스크립트로, 사용자가 직접 수정할 수 있으며 수정된 버전을 AIX 커뮤니티와 공유할 수 있습니다.
5. rPerf 스크립트의 최신 버전 확인
스크립트를 사용할 때 최신 버전의 rPerf를 사용하는 것이 중요합니다. 최신 버전은 새로운 IBM 서버 모델을 지원하며, Power10 서버도 지원됩니다.
- 최신 버전은 GitHub에서 다운로드할 수 있습니다: rPerf 최신 버전
- 2022년 7월 버전 41에서는 Power10 E1050 서버 및 Power10 스케일아웃 서버(S1024, S1014, S1022 등)를 지원합니다.
결론
AIX LPAR에서 rPerf 성능 등급을 측정하면, 서버의 CPU 성능을 평가하고 적절한 사이징 및 워크로드 배분에 대한 통찰을 얻을 수 있습니다. 이 글에서 소개한 Korn 쉘 스크립트를 활용해 간단하게 rPerf 성능을 계산할 수 있으며, IBM의 공식 성능 데이터를 기반으로 서버 업그레이드나 워크로드 통합을 계획할 수 있습니다.
2. tpmC (Transactions Per Minute C)
tpmC는 TPC-C 벤치마크의 일환으로 OLTP(온라인 트랜잭션 처리) 성능을 측정하는 지표입니다. 이 벤치마크는 실제 비즈니스 환경을 시뮬레이션하여 다양한 제조사의 서버 성능을 비교할 수 있습니다.
주요 용도:
- 다양한 제조사의 서버 성능 비교
- 데이터베이스 시스템 성능 평가
- 전체 시스템 성능 측정 (CPU, 메모리, 디스크 I/O 등)
특징:
- 표준화된 벤치마크로 다양한 시스템 간 성능 비교가 가능합니다.
- CPU뿐만 아니라 메모리, I/O 등 시스템의 전체 성능을 평가합니다.
- 분당 처리 가능한 트랜잭션 수를 기준으로 성능을 나타냅니다.
3. rPerf와 tpmC 사용 시 고려사항
rPerf:
- IBM Power Systems 환경에 적합하며, 특히 서버 통합 및 워크로드 이동 계획 시 유용합니다.
- 특정 CPU 구성에 대한 공식 rPerf 수치를 기준으로 다른 시스템과의 성능을 비교할 수 있습니다.
- CPU 외의 시스템 성능 요소(메모리, I/O 등)는 별도로 고려해야 합니다.
tpmC:
- 다양한 제조사의 서버를 비교할 때 적합하며, 데이터베이스 시스템의 성능 평가에 특히 유용합니다.
- CPU뿐만 아니라 시스템 전반의 성능을 고려하는 것이 중요하며, 서버 통합 시에도 활용될 수 있습니다.
- 벤치마크 결과는 지속적으로 업데이트되며, 공개된 수치를 통해 비교할 수 있습니다.
4. rPerf와 tpmC 간의 상호 변환
rPerf와 tpmC 간의 직접적인 변환은 불가능하지만, 일부 사용자는 공인 TPMC 값과 rPerf 값을 조합해 성능 추정치를 계산하기도 합니다. 두 지표는 서로 다른 환경과 목적에서 사용되므로, 변환보다는 각 지표의 특성에 맞는 사용이 더 중요합니다.
5. 서버 통합 계획에서 rPerf의 활용
서버 통합을 계획할 때, rPerf는 IBM Power Systems 환경에서 매우 유용한 도구입니다. 이를 통해 서버 성능을 비교하고 통합할 서버를 선택하는 데 중요한 역할을 합니다.
rPerf 활용 방법:
- 기존 서버들의 성능 기준선을 제공하여 통합할 서버의 용량을 추정합니다.
- 서버 통합 후 워크로드를 처리할 서버의 성능을 rPerf를 통해 예측할 수 있습니다.
- CPU 자원 배분을 최적화하여 서버 통합 후에도 각 워크로드에 필요한 성능을 보장합니다.
결론
rPerf와 tpmC는 각기 다른 목적에 맞는 벤치마크 지표로, 사용 환경에 따라 적절한 지표를 선택하는 것이 중요합니다. IBM Power Systems 환경에서는 rPerf가 더 유용하며, 다양한 제조사의 서버를 비교하고자 할 때는 tpmC가 적합합니다. 서버 성능을 정확하게 평가하고 최적의 시스템 선택을 위해 두 지표의 특성을 이해하고 활용하는 것이 필요합니다.