TIL( Today I Learned)
21-05-10 월
- Python Process 점검
- NLP dev 서버 용량 만들기
-
서버 부하 테스트 준비 체크 및 진행
-
gunicorn 실행 옵션
-
worker
- 5
-
thread
- 2
-
- VM들 연결 상태 확인
-
테스트 파일 준비
- url별 파일?
- POST 중복없이 보내기?
-
LB scailing 옵션?
-
min
- 2
-
max
- 10
-
-
21-05-11 화
- netstat으로 열려있는 port 확인해서 공유하기
- Locust 테스트 및 현황 정리
-
Docker 공유하기
-
도커 기본 설명하기
- docker?
- compose?
-
코드 설명
- docker
- compose
- Jenkins 배포 설명
-
새로운 프로젝트 예시
- vm 생성
- install python dependency
- install python
- pull project
- run python module
-
21-05-12 수
- async docker 올리기
-
locust test
-
working class 바꿔보기
- 돌아가는프로세스는 10개인데 5개만 활발하게 동작이 일어나고 나머지 5개는 동작이 잘 안된다.
-
thread 개수 변화
- 2 -> 4
- 지나치게 많아져도 오히려 성능이 저하되는 모습이 나타난다.
- cpu 자원 다시 할당 받기 위해 대기하고 교대하는 시간들이 영향이
-
정겨울 블로그 정리
-
request / IO bound? - cpu가 작업을 pause 하고 있다.
- 스레드가 response 대기 타면 다른 스레드로 넘긴다
-
sleep - 스레드 일시 정지
- cpu 대기시 다른 스레드로 넘긴다
-
compute - cpu bound
- cpu 계속 쓰는 거라 추가 스레드 생성할 여유가 없다.
-
적용
-
/health-check
- cpu bound
-
DB hitting
-
IO BOUND?
- 내부 DB 응답 기다리는 것도 IO BOUND 라고 볼 수 있나?
- 온전히 IO bound 로 보기는 어려움
-
-
Outer Service
- IO BOUND
-
-
-
21-05-13 목
-
부하 테스트
-
NLP Bert-as-service worker 개수 늘릴경우에 RPS 늘어나는지?
-
VM scale up
-
프로세스
- BERT
- ES
- uWSGI
-
-
-
21-05-14 금
- VM SSD 업그레이드
-
with connection BertClient() as bc:
- 재부팅시 랙걸리는 부분 잡아야 한다.
TEL (Trial and Error Log)
21-05-11
-
ERROR: test rps 이상함
- SITUATION: Locust 부하테스트중 RPS 가 안늘어남
- REASON: Task 딜레이를 10s 를 줘서 Task 딜레이로 성능이 저하됨
-
SOLUTION:
- between_time 삭제
-
21-05-13
-
ERROR: [alert] could not open error log file: open() “/var/log/nginx/error.log” failed
- SITUATION: 서버 재부팅
- REASON: 해당 위치에 폴더 없음
-
SOLUTION:
sudo mkdir -p /var/log/nginx
-
ERROR: 502 Bad Gateway
- SITUATION: nginx api requesting
- REASON: 요청 중간에 처리하는 elastic 죽었음
-
SOLUTION:
- elastic 살림
-