쿠버네티스(17) : Apache Bench를 이용한 부하 테스트

NOHHYEONGJUN·2024년 10월 16일

쿠버네티스

목록 보기
18/23

0. Apache Bench yaml 작성

# ab-tester.yaml
apiVersion: v1
kind: Pod
metadata:
  name: ab-tester
  namespace: default
spec:
  containers:
  - name: ab
    image: jordi/ab
    command:
      - "sleep"
      - "3600"

 

replica 설정

# replica-ab-tester.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: ab-tester-replicaset
  namespace: default
spec:
  replicas: 5
  selector:
    matchLabels:
      app: ab-tester
  template:
    metadata:
      labels:
        app: ab-tester
    spec:
      containers:
      - name: ab
        image: jordi/ab
        command:
          - "sleep"
          - "3600"

여러 부하를 발생시키고 싶으면 replicas로 생성


 

 


1. Pod 배포 및 접속

kubectl apply -f ab-tester.yaml
kubectl exec -it ab-tester -- /bin/sh

 

 


2. 부하 테스트 진행

ab -n 1000 -c 10 http://<서비스-URL>/

# 예시
kubectl exec ab-tester-replicaset-2dxbd -- ab -r -s 60 -n 100000 -c 20000 http://www.test.com/
  • n 1000: 1000개의 요청
  • c 10: 동시에 10개의 요청
  • -r : 모든 응답을 무시하지 않고, 요청을 계속해서 실행
  • -s 60 : 응답 시간을 초 단위로 설정. 즉, 60초 동안 응답 대기
  • http://<서비스-URL>/: 부하 테스트를 할 서비스의 URL을 지정

 

 


3. Pod 정리

kubectl delete pod ab-tester

 

 


4. Metric Server로 실시간 모니터링

watch -d k top po 

profile
Cloud/DevOps & Network Virtualization에 관심 있는 Engineer입니다. 🐳⚓️👨‍✈️

0개의 댓글