본문 바로가기

전체 글52

[Amazon RDS] MariaDB "Too Many Connections" 에러 해결 아마존 관계형 데이터베이스 서비스(Amazon Relational Database Service) 사용 중에 발생한 에러 해결법을 기록합니다. 오류상황 클래스 : db.t2.small 엔진 버전 : MariaDB 10.6 리전 및 AZ : ap-northeast-2c 위의 환경에서 "Too Many Connections" 에러가 발생하였습니다. 예상되는 원인 1. 부족한 Connection Pool의 개수 - DB인스턴스의 메모리 용량에 영향을 받는 값인"{DBInstanceClassMemory/12582880}"로 설정돼 있어 필요한 Connection 개수를 확보하지 못함. 2. 과도한 Timeout 여유 - 기본 Timeout 시간이 28800초(8시간)로 설정돼 있어 개발자들이 열어놓은 커넥션이 .. 2023. 6. 26.
[Docker] DIND 빌드가 너무 느린 경우 시도해 볼만한 방법 도커컨테이너가 호스트 시스템의 도커에 접근하여 다른 도커컨테이너를 조작하는 DIND (Docker in docker)를 GitLab CI/CD와 함께 사용하는 도중, 도커 이미지 빌드가 너무 느려진 경우 시도해볼 만한 방법입니다. 스토리지 드라이버 변경 사용자가 직업 도커 호스트 시스템의 도커에서 실행하는 빌드만큼 빠르지는 않지만, 제법 눈에 띄는 성능 향상을 느낄 수 있었습니다. environment = [ "DOCKER_DRIVER=aufs" ] 참고 : 링크1 2023. 6. 22.
[Python] Uvicorn 일자별 로그 쌓기(with. FastAPI) Python의 ASGI(Asynchronous Server Gateway Interface) web server인 Uvicorn을 활용하여 서버를 실행 중, 일자별로 로그 파일을 생성하여 쌓는 방법을 기록합니다. 1. log.ini 파일 생성 [loggers] keys=root [handlers] keys=logfile,logconsole [formatters] keys=logformatter [logger_root] level=INFO handlers=logfile, logconsole [formatter_logformatter] format=[%(asctime)s.%(msecs)03d] %(levelname)s [%(thread)d] - %(message)s [handler_logfile] class.. 2022. 7. 26.
[Docker] Docker 이미지 생성 및 자동 배포(FastAPI 와 Gitlab CI/CD를 곁들인) Python 프레임워크인 FastAPI로 작성된 API 서버를 Gitlab CI/CD를 이용하여 Docker 이미지로 자동 빌드, 배포하는 방법을 기록합니다. 0. 환경 및 실행 흐름 - 개발 환경 : Windows 10 / Python 3.10 / FastAPI 0.72.0 - 배포 서버 OS : Ubuntu 20.04.3 LTS / Docker 20.10.12 Community 1. Docker에 Gitlab-Runner, DinD Container 실행 # 1. Gitlab-Runner Image pull sudo docker pull gitlab/gitlab-runner:latest # 2. Check Image sudo sudo docker image ls -a # 3. Create Gitlab.. 2022. 7. 18.
[MariaDB] 임시 숫자 테이블(feat. Sequence Storage Engine) DB를 사용하다 보면 종종 0에서 N까지의 수가 들어있는 임시 테이블이 필요한 경우가 있습니다. 그때 활용하기에 좋은 MariaDB의 임시 테이블 조회 방법입니다. 10.1 이상의 버전이 필요합니다. 방법과 결과 SELECT seq AS idx from seq_0_to_10 위와 같이 사용하면 임시 테이블 조인 시에 편리하게 사용할 수 있습니다. 참조 : 링크 2022. 7. 7.
[Python] requests 사용시 SSL 서명 오류 Python의 requests 모듈을 사용하는 중 SSL 인증서 오류가 발생하여 해결법을 기록합니다. 오류 현상과 예상 원인 SSL : WRONG_SIGNATURE_TYPE 에러로 인해 Max retries까지 연결을 시도한 후 실행이 종료되었습니다. HTTPSConnectionPool(host='???', port=443): Max retries exceeded with url: /? (Caused by SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:997)'))) 해결방법 예전 버전 TLS에 대한 Adapter를 만들어 session과 함께 사용하였습니다. import ssl import requests #.. 2022. 6. 28.