본문 바로가기

프로그래밍/Ops

(10)
jitsi on AWS jitsi on AWS install dockersudo yum -y upgrade sudo yum -y install docker docker -v sudo service docker start 2. install docker-composesudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-c..
iTerm2, zsh for mac terminal Homebrew /usr/bin/ruby -e "$(curl -fsSL
Eureka issue(EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE) self-preservation Eureka 서버가 client를 registry에 유지하는 방법에 대해 알아보자. 시작할 때 client는 server의 registry에 등록하기 위해 REST call을 한다. instance가 graceful shutdown 되는 경우에는 그 instance는 Eureka 서버에 REST call을 보내 registry에서 제거하도록 한다. ungraceful shutdown을 처리하기 위해서 서버는 client로부터 특정 간격으로의 heartbeat를 기대한다. 이것을 renewal이라 한다. 서버가 지정된 기간 동안 heartbeat 수신을 중지하면 오래된 인스턴스를 제거하기 시작한다. client가 unregister call을 보내지 않으면 서버는 이를 un..
JMETER 사용해보기 Mac 기준 작성 설치 $ brew install jmeter 실행 $ jmeter 아래와 같이 프로그램이 실행된다 아래처럼 옵션들을 추가해주고 스레드 개수도 설정해보자 Request도 작성하자 실행버튼을 누르면.. 여러가지 정보를 볼 수 있다. TPS는? 스레드 개수 / 평균 응답 시간 즉, 100개의 스레드를 날렸기 때문에 100 / 0.057 = 1754 TPS 가 된다. 스트레스 테스트니 좀 더 큰 스레드로 테스트하는게 더 좋을 것 같다. (실제로 더 낮은 TPS로 바뀐다)
Zuul , could not acquire a semaphore.. 어떤 이벤트로 인해 순간 트래픽이 치솟음. 원인은 여러가지가 있는데 아래 해결책(의견)에 대해 비교해보고 싶어 작성함. max Semaphore를 늘려? semaphore 디폴트 max는 100임 maxmax-concurrent-requests는 10임 https://github.com/Netflix/Hystrix/wiki/Configuration For example, 5000rps on a single instance for in-memory lookups with metrics being gathered has been seen to work with a semaphore of only 2. 예를 들어, 메트릭이 수집되는 메모리 내 검색을위한 단일 인스턴스에서 5000rps는 2의 세마포어로만 작동..
분산서버 처리를 위한 기술들 Load Balancing부하 분산을 위해서 가상 IP를 통해서 각 노드에 분배하는 기능이다.오픈 소스 로드 밸런스 중에서는 HA Proxy가 많이 사용된다고 한다. 로드 밸런서 사용 시 이슈 중 하나가 세션 데이터이다. 로드 벨런서에 의해 이전 요청과 현 요청에 분배되는 노드가 다르면 세션 관리 일관성에 문제가 있다. 이 문제를 해결하기 위해 sticky session을 이용하기도 한다. 다만 해당 노드에 장애가 발생하게 되면 다른 노드에는 해당 세션이 없으므로 이 또한 문제다. 따라서 세션 클러스터링이 필요하다. 로드 밸런서에 문제가 발생하면 어떻게 할 것인가?로드 밸런서를 이중화를 기본으로 한다. 서로 Health check를 한다.Master - Standby로 구성한다. (Fail-over) 특..
APM Scouter 출처: https://team-platform.tistory.com/14https://team-platform.tistory.com/19https://team-platform.tistory.com/25 APM? Application Performance Management Scouter는 APM의 한 제품이다. 한국 개발자들 주축의 오픈 소스이다. 모니터링할 수 있는 것들JVM GC 횟수, 시간Heap memory 사용률Java Process의 CPU 사용률API Call 기록 (Xlog)TPSSQL 처리 시간OS - CPU, Memory, Disk, Network Traffic, Socket count Alert를 Customizing 할수도 있다. 아래 링크를 참조하면 텔레그램으로 alert를 받을 ..
[Git] How to push another repository? (feat: expected committer email.. but..) 회사 프로젝트 개발을 bitbucket에서 형상관리하면서 타사의 bitbucket으로 소스를 push해야 하는 상황이 생겼다. 1. 계정이 있는 유저로 스위칭을 우선 한다. 일단 확인$ git config --global user.name$ git config --global user.email $ git config --global user.name "hong"$ git config --global user.email "hong@some.com" 2. remote set-url 을 통해서 원격 remote를 변경해 줄 수 있다. 일단 현재 repository 확인$ git remote -v $ git remote set-url origin https://bitbucket.some.com/scm/haha..