일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- devops
- spring microservice
- Stress test
- 헬름
- 동기화
- 머신러닝
- Microservice
- 클라우드 네이티브 자바
- 클라우드 네이티브
- Adapter 패턴
- 코틀린
- 마이크로서비스
- Semaphore
- ansible
- cloud native
- decorator 패턴
- MSA
- 쿠버네티스
- kubernetes
- java
- nGrinder
- 자바
- Spring
- 익명클래스
- ingress
- Algorithm
- cloud native java
- CRD
- MySQL
- Kotlin
- Today
- Total
목록전체 글 (86)
카샤의 만개시기
Apache에서 개발한 순수 자바로 개발된 성능 테스팅 도구이다. Web Application을 테스팅하기 위해 디자인 되었지만, 플러그인을 이용하여 다른 기능도 테스트 할수 있도록 확장 할 수 있다. 주요 특징 Jenkins와 연동을 지원한다. Swing 기반의 Component를 지원하기 때문에 GUI가 이쁘지 않다. (중요) 플러그인을 이용하여 테스트 케이스를 XML 형식으로 작성 할 수 있다. Load Test, Distributed Test, Functional Test 등을 지원한다. 동시 스레드를 사용하여 다양한 사용자를 시뮬레이션하고 target에 대한 load를 생성할 수 있다. 웹 응용 프로그램, 데이터베이스, 서버 테스트에서 작동하며 HTTP, JDBC, LDAP, SOAP, JMS ..
오늘날의 서비스는 3계층을 넘어서 n계층(multitier) 아키텍쳐로 변경이 되면서, 시스템의 복잡도가 증가한다. 3계층 아키텍쳐에서는 웹 서버와 웹 애플리케이션 서버, 데이터베이스만 분석하면 되었고 서버 수도 많지 않았지만 n계층 아키텍처에서 문제가 발생하면 많은 컴포넌트와 서버의 상태를 모두 확인해야 한다. 또한 개별 컴포넌트를 분석해 전체 그림을 파악하는 데는 한계가 존재하여 가시성이 부족하다고 문제의 원인을 찾는데 많은 시간이 소요된다. pinpoint는 이러한 한계를 해결해주는 분산 서비스 및 시스템의 성능 분석/진단/추적 APM(application performance management) 플랫폼이다. 어플리케이션 테스트, 운영 전 단계에 걸쳐 성능을 모니터링하고 분석 할 수 있으며, 응답..
The Grinder라는 오픈소스 기반으로 네이버에서 개발 한 오픈소스 프로젝트이다. 스크립트를 작성함에 있어 Jython과 Groovy 두가지 중 선택 할 수 있다. Groovy의 경우 JUnit 기반으로 되어 있어, 테스트 스크립트를 nGrinder 내에서 실행하기 전에, IDE에서 먼저 확인해보고 디버깅할수 있다는 점이 큰 장점이다. 또한 스크립트를 수정할 수 있으므로 세밀한 성능 테스트가 가능하다. 계정 관리 기능이 존재하여 계정별 테스트 스케줄 및 이력 기능을 제공한다. nGrinder Architecture Controller 부하 테스트를 위해 웹 인터페이스 제공. 테스트 프로세스를 체계화. 테스트 결과를 수집해서 통계화. WAS 기반으로 동작. Agent Controller의 명령을 받아 ..
Load Test 시스템 성능을 벤치마크하기 위한 테스트. 부하(Load)를 순차적으로 증가시켜, 응답시간이 급격히 느려지거나 CPU나 메모리의 수치가 급격히 증가하여 비정상적인 상태가 되는 임계점을 찾는 테스트. 이를 통해 튜닝과 테스트를 반복하여 성능을 향상한다. Stress Test 시스템 임계값 이상의 요청을 보내 비정상적인 상황의 상태를 확인하고 성능 한계점에 대해 측정하기 위한 테스트이다. Spike Test 갑자기 사용자가 몰렸을 때 요청이 정상적으로 처리되는지, 그리고 몰려든 사용자가 줄어들었을때 정상적으로 작동하는지 테스트한다. 시스템 Auto Scale을 위한 테스트도 여기서 진행한다. (너무 갑.자.기. 몰려든 요청에는 Auto Scale이 감당하지 못한다) Stability Test..
nGrinder The Grinder라는 오픈소스 기반으로 네이버에서 개발 한 오픈소스 프로젝트이다. 스크립트를 작성함에 있어 Jython과 Groovy 두가지 중 선택 할 수 있다. Groovy의 경우 JUnit 기반으로 되어 있어, 테스트 스크립트를 nGrinder 내에서 실행하기 전에, IDE에서 먼저 확인해보고 디버깅할수 있다는 점이 큰 장점이다. 또한 스크립트를 수정할 수 있으므로 세밀한 성능 테스트가 가능하다. 계정 관리 기능이 존재하여 계정별 테스트 스케줄 및 이력 기능을 제공한다. nGrinder 상세 JMeter Apache에서 개발한 순수 자바로 개발된 성능 테스팅 도구이다. Web Application을 테스팅하기 위해 디자인 되었지만, 플러그인을 이용하여 다른 기능도 테스트 할수 있..
사내에서 배포 자동화를 앤서블을 이용하여 사용하고 있어, 서둘러 앤서블 서적을 구매하여 공부하기 시작하였습니다. 서적을 구매하고 몇일 뒤 현재 사내에서 1.9.x버전을 사용하고 있는데 최신버전으로 업그레이드했을때, 어떤 이슈가 있을지 기술 발표를 맡게되어 대표적인 변경사항들을 정리해보았습니다. 자세한 변경사항 내용은 앤서블 공식 도큐먼트의 Ansible Porting Guide에서 확인 할 수 있습니다. 1.9.x에서 2.0.x로! During this entire process, one of the fundamental goals was to maintain backwards compatibility with existing playbooks. In terms of parsing and running ..
앤서블은 설정 관리(Configuration Management) 툴로써, 공상 과학 소설에서 '빛의 속도보다 빨리 정보를 전송할 수 있는 허구의 통신 장치'로 유래되었다. 많은 서버들에 동시다발적으로 동일한 환경을 배포해야할때, Bash 쉘 스크립트는 한계점을 가지며 이를 고안하도록 만들어진 것이 Infrastructure as a Code이다. 이는 환경의 배포와 구성을 규격화된 코드로 정의해 사용하는 것을 의미하며 이는 특정 환경을 동일하게 도출 할수 있도록 멱등성(Idempotent)를 보장한다. Bash 쉘 스크립트에서 echo 'hello world' > file.txt라는 스크립트를 실수로 2번 입력했을때 hello world가 두번 저장되지만 앤서블은 플레이북이 두번 실행되더라도 최종적으로..
코틀린의 object 키워드를 이용하여 다음 내용들을 해결합니다. 싱글톤 정의 동반 객체(companion object)를 이용한 팩토리 메서드 구현 익명클래스 선언 싱글톤 자바에서의 싱글톤 public class Test { private static Test obj; private Test() {} static Test getInstance() { if(obj == null) obj = new Test(); return obj; } }코틀린에서의 싱글톤 object Test { }코틀린에서 object 클래스는 선언과 동시에 객체가 자동으로 생성되고 개발자가 생성 할 수 없으므로 싱글톤 개념이 적용된 클래스입니다. 객체에서 comparator를 여러개 구현할 필요가 없을 경우 싱글톤으로 하나만 만들어..