본문 바로가기
반응형

DevOps82

스케일링 가능한 Ngrinder 환경 구축하기 (feat. AWS Beanstalk) 네이버의 Ngrinder는 대표적인 성능 부하 테스트 도구입니다. 개인적으로는 다른 테스트 도구들에 비해서 설치 과정이 조금 번거롭다는 단점에 비해 사용성과 UI/UX가 너무 직관적이라는 장점으로 인해서 오랫동안 애정하고 있는 제품인데요. 서버 퍼포먼스 테스트 툴 사용후기 설치형을 지원하다보니 동적으로 Agent 수를 늘리고싶을때마다 설치된 이미지로 서버를 재생성하는 방식으로 늘리는게 참 불편했습니다. 이럴 경우 AWS를 통해서는 보통 2가지 방법으로 해결할 수 있는데, 오토스케일링 그룹 Beanstalk 등 동적으로 동일한 서버 환경을 편하게 증설할 수 있습니다. 이번 시간에는 AWS Beanstalk을 이용하여 스케일링 가능한 Ngrinder 환경 구축하기를 진행해보겠습니다. 1. EC2에 Contr.. 2021. 6. 18.
Pinpoint APM Node 사용하기 지난 시간에 이어, 설치된 Pinpoint Node 의 기본적인 사용법과 장단점을 배워보겠습니다. 1. 로컬 프로젝트에서 접근하기 저는 로컬 개발을 위해 nodemon을 사용하고 있어, nodemon.json에 다음과 같이 설정을 해서 접근할 수 있습니다. { "env": { "PINPOINT_COLLECTOR_IP":"ec2 ip", "PINPOINT_SAMPLING_RATE":"1", "PINPOINT_APPLICATION_NAME":"pinpoint-node", "PINPOINT_AGENT_ID": "local" } } 물론 Pinpoint Collector의 방화벽 (Security Group) 에 현재 로컬 PC의 IP가 인바운드에 등록 (포트: 9991 ~ 9993) 되어 있어야 합니다. 위 .. 2021. 5. 30.
Pinpoint APM Node 버전 설치하기 자바 진영에서 유명한 분산 환경 APM (Application Performance Monitoring) 도구를 고르라고 하면 네이버에서 만든 Pinpoint를 쉽게 떠올리곤 하는데요. 특히나 요즘 같이 분산환경에서 애플리케이션 모니터링에 최적화된 기능들이 많아 백엔드 구성하는데 있어 큰 도움을 받는데요. 아쉽게도 그동안 공식적으로 Java / PHP / 파이썬 / C 만 지원을 하던 중에, 드디어 Node를 지원하기 시작했습니다. 물론 자바처럼 100%를 지원하진 않지만, 그럼에도 충분한 장점이 있는 Pinpoint Node Agent를 이번 시간에는 설치해보겠습니다. 이 모든 과정은 기존에 Pinpoint 구성이 없다고 가정해서 진행합니다. 이미 Pinpoint를 구성해서 사용하는 중이시라면, 3번으.. 2021. 5. 17.
CloudWatch를 이용한 RDS (PostgreSQL) 스케줄링 시작/종료 운영되는 환경 (live, production, real 등) 외에, 테스트 용도로 사용되는 환경(dev, qa)은 꼭 24시간 무중단으로 서비스를 할 필요가 없습니다. 그래서 실제 업무시간을 제외하고는 해당 서비스를 종료하여 비용을 절감할 필요가 있습니다. (굳이 사용하지 않는 시간대에 비용을 낭비할 필요는 없겠죠?) 그래서 이번 시간의 목표는 다음과 같습니다. CloudWatch Event를 이용하여 매주 월~금 오전 09:00 에 RDS가 재시작 되도록 스케줄링 한다 매주 월~금 오후 08:00 에 RDS가 정지 되도록 스케줄링 한다. 금요일 오후 8시에 종료되고 월요일 오전 9시에 시작이기 때문에 주말 동안은 계속 종료 상태를 유지합니다. 전체 구조는 다음과 같습니다. 자 그럼 바로 시작해보겠습니.. 2021. 5. 11.
PostgreSQL RDS Slow 쿼리 Slack으로 알람 보내기 서비스를 운영하다보면 여러가지 이유로 서버 장애가 발생합니다. 그 중 가장 빈도수가 높은 원인은 DB의 슬로우쿼리일텐데요. 어떤 쿼리가 언제, 얼마나 긴시간동안 수행되었는지에 대해 알람을 받거나 모니터링이 되어야 서비스에 이슈가 될만한 쿼리들을 지속적으로 탐지하고 개선이 가능하기 때문입니다. 이번 시간에는 AWS RDS PostgreSQL에서 슬로우 쿼리에 대한 로그를 남기고 이에 대해 슬랙 알람을 보내도록 설정하는 방법을 진행하겠습니다. 이번 시간에는 PostgreSQL로 진행하지만 MySQL도 DB 파라미터 설정등에 차이가 있지만, 전체 Flow는 거의 흡사하니 참고해서 진행 가능하실것 같습니다. 전체적인 구조는 다음과 같습니다. 한번 이렇게 구성하고 나면 이후에 CloudWatch에 적재된 슬로우 .. 2021. 5. 8.
특정 포트 Process 종료하기 간혹 IntelliJ를 사용하다가 JVM 프로세스를 종료하였음에도, 포트가 그대로 잡혀있는 경우가 종종 있는데요. IntelliJ까지 종료하여도 해당 포트가 계속 잡혀 있어서 프로젝트를 재실행이 안되는 경우가 있습니다. *************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that's listening on port 8080 or configure this application to listen on another p.. 2021. 4. 18.

728x90