본문 바로가기

부하테스트

(9)
TPS (Transaction Per Second) TPS 란? 초당 트랜잭션 수는 일반적인 관점에서 초당 특정 엔티티가 수행한 원자 동작의 수를 가리킨다. 더 제한된 관점에서 이 용어는 DBMS 벤더와 사용자 공동체가 초당 데이터베이스 트랜잭션의 수를 가리키기 위해 사용되는 것이 보통이다. TPS 정의보통 초당 transaction 개수를 나타낸다. TPS 계산 방법일정 시간에 수행된 트랜잭션의 개수를 1초 구간 기준으로 계산하여 나타냄.계산식 : 구간 내 트랜잭션 수 / 수집 구간 초 ex) 7개의 트랜잭션, 20초간 수행 = 7 / 20 = 0.35 TPS ex) 1분에 6개 트랜잭션 처리 시 = 6 / 60 sec = 0.1 TPS TPS Saturation point (TPC 최대 처리 지점)요청이 늘어도 TPS가 특정 값으로 수렴하는 것 만약 ..
Locust 부하 테스트 # Locust를 사용하여 부하 테스트 하기1. Locust 란?- Locust는 오픈 소스 부하 테스트 도구로, 사용자가 Python으로 시나리오를 작성하여 웹 애플리케이션의 성능을 측정할 수 있게 해주는 부하테스트 도구이다.2. 사용방법 및 옵션- 옵션은 많은데 주요 옵션만 정리하면 아래와 같다.-f 또는 --locustfile: 이 옵션을 사용하면 locust 파일로 사용할 Python 파일을 지정할 수 있다.--host: 이 옵션을 사용하면 테스트를 로드하려는 웹사이트의 기본 URL을 지정할 수 있다.-u 또는 --users: 이 옵션을 사용하면 시뮬레이션할 사용자 수를 지정할 수 있다.-r 또는 --spawn-rate: 이 옵션을 사용하면 사용자를 생성하는 속도를 지정할 수 있다.-t 또는 --..
Locust 부하 테스트 시나리오 # 부하테스트 시나리오1. 사용자 수 선정 및 부하 옵션 설정- 사용자는 전체 사용자의 약 20% 정도로 정했다. 전체 사용자를 100명정도로 보고 20%인 20명을 최대 사용자로 설정 하였다.계산식이 따로 있으니, 계산식은 다음에 알아보자.그리고 나머지 옵션들은 따로 정리하자.- 추가적인 부하 옵션은 추후에 하나씩 정하자.2. Flow는 아래와 같다.제공된 Python 스크립트의 코드 흐름은 다음과 같이 설명할 수 있습니다:1. 스크립트는 필요한 모듈을 가져오고 일부 전역 변수를 설정하여 시작한다. sessionIds 리스트는 세션 ID를 저장하기 위해 전역 변수로 초기화된다.2. WebsiteUser 클래스가 정의되며, 이는 Locust 라이브러리에서 제공하는 HttpUser 클래스를 상속한다. 이 ..
Locust 부하 테스트 자주 사용하는 옵션 정리 # Locust 주요 명령어 정리1. Locust 주요 명령어는 아래와 같다.-f or --locustfile: This option allows you to specify the Python file to use as the locust file.--host: This option allows you to specify the base URL of the website you want to load test.-u or --users: This option allows you to specify the number of users to simulate.-r or --spawn-rate: This option allows you to specify the rate at which to spawn users..
Jmeter 플러그인 다운받는 사이트 # Jmeter의 다양한 플러그인을 다운받을수 있는 사이트...! https://jmeter-plugins.org/ JMeter Plugins :: JMeter-Plugins.org jmeter-plugins.org - 그닥 많지는 않은데, 추가 플러그인을 사용할때 찾아서 적용해보는것도 나쁘지 않을거 같다.
Jmeter를 활용한 부하테스트 (하) # Jmeter를 활용하여 EC2 인스턴스 부하 테스팅을 진행해보자. Jmeter 말고, 간단한 부하 테스팅 툴로도 얼마든지 테스트가 가능하기는 하다. 하지만 Jmeter의 추가적인 플러그인과 GUI를 활용한 부하 모니터링 및 분석은 보다 편리한 모니터링 환경을 제공한다. 1. 설정하기 Thread 그룹 설정 Test Plan에 자식 노드 Thread Group 추가 Test Plan 항목에서 우 마우스 클릭 , Threads(Users) >Thread Group # 관련옵션 정보 Number of Threads (users) : 스레드수 Ramp-up period (seconds) : 부하 간격 Loop Count : 반복 횟수 2. Thread Group에 자식 노드격인 Http Request 추가한..
쿠버네티스 HPA를 활용한 부하테스트 # 부하 테스트 설명 및 구성도 1. kubelet - cAdvisor : cAdvisor(Container Advisor)는 컨테이너 사용자에게 실행 중인 컨테이너의 리소스 사용 및 성능 특성에 대한 정보를 제공한다. 2. Aggregate : 프로세스를 수집하고 실행 중인 컨테이너에 대한 정보를 내보내는 실행 데몬이다. 3. k8s API Server : API는 쿠버네티스 클러스터를 관리, 생성, 구성하는 데 사용되는 인터페이스입니다. 이 인터페이스를 통해 사용자, 외부 구성 요소, 클러스터의 각 부분이 서로 통신합니다. 4. HPA : HPA는 메트릭을 모니터링하고, 실제로 Pod의 수를 늘리거나 줄이는것은 ReplicaSet이나 Deployment에 의해서 컨트롤 된다. 5. ReplicaSet..
Apache를 활용한 부하테스팅 # 실행할 항목 1. AWS 우분투 인스턴스 생성 2. Apache 부하 테스트를 위한 프로그램 설치 3. Apache를 활용한 주요 사이트 부하 테스트 수행 1. AWS에 우분투 인스턴스를 생성 2. SSH 접속 툴(putty 등)을 활용하여 서버에 접근 3. Apache 테스트 프로그램 설치 - 명령어 sudo apt-get install apache2-utils 4. 설치중인 화면 아래와 같은 화면뒤에 done 이 뜨면 완료 5. apache 프로그램을 활용하여 부하 테스트 수행 - 명령어 ab -n 100 -c 10 http://www.google.com/ - 세부정보는 아래와 같다. 부하 테스트 완료 화면, 지금까지 apache를 활용한 부하테스팅을 알아봤습니다. 끝으로, 사용범 예시 및 추가 ..