All Articles

TIL&TEL 21.05.10~21.05.16

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 살림