본문 바로가기

기타6

로컬 캐시(Local Cache)에서 글로벌 캐시(Global Cache)로 개요 현재 운영중인 서버에서, 전체 상품 리스트를 로컬 캐시에 넣어 사용하고 있다. 이 로컬 캐시는 어드민 페이지에서 상품을 수정하고, 캐시 업데이트 버튼을 누르면 갱신할 수 있다 (별도의 캐시 만료기간이 정해져 있지 않다) 그런데, 로컬 캐시 사용에 자잘한 문제점이 있다고 판단되어 글로벌 캐시로 마이그레이션하려고 한다. 판단 근거는 아래와 같다. 메모리 전체 상품 개수가 증가할수록 로컬 캐시가 차지하는 메모리의 양도 증가한다. 메모리는 서버의 스펙, 즉 비용과 직결되기 때문에 미래를 보면 글로벌 캐시를 사용하는게 더 효율적이다. 속도 로컬 캐시는 네트워크 통신을 거치지 않고 메모리에서 바로 데이터를 읽어오기 때문에 글로벌 캐시보다 처리 속도가 더 빠르다. 하지만 이미 프로젝트 내에서 사용중인 글로벌 캐.. 2023. 6. 4.
nohup으로 Flask 백그라운드 실행하기 명령어 (Ubuntu) 터미널 세션이 종료되어도 Flask서버 프로그램 실행이 백그라운드에서 유지되도록 해보겠습니다. nohup python -u train.py & nohup 은 터미널 세션이 종료되어도 실행을 멈추지 않도록 도와주는 역할을 합니다. -u 옵셥은 nohup.out 파일을 통해 서버의 실행 결과, 즉 Log를 확인할 수 있게 해줍니다. & 옵션은 프로그램을 백그라운드로 실행시켜줍니다. nohup과 별도로 사용할 수 있지만 함께 사용해야 터미널 세션이 끊어져도 프로그램이 유지됩니다. Log 확인 using cached model using cached model using cached model 훈련중... [Epoch 1 Batch 64/1606] loss=1.2965, lr=0.0000.. 2022. 3. 23.
Github Action이란? Github Action은 Github Repository를 기반으로 소프트웨어 개발 Workflow를 자동화 할 수 있는 도구입니다. 간단하게 설명하면 Jenkins나 Travis와 같은 CI / CD 도구라고 할 수 있습니다. ) Github Repository의 Actions탭에서 workflow를 생성할 수 있으며 미리 만들어져 있는 template를 사용할 수도 있습니다. workflow를 생성하게 되면 Repository에 .github/workflows라는 디렉토리 하위에 yml파일이 하나 생성되고 Push나 Pull Request같은 이벤트가 발생하면 Github에서 호스팅 해주는 Runner라는 환경을 통해 해당 파일에 입력되어 있는 명령어를 실행하게 됩니다. 2021. 3. 7.
Bastion Host란? Bastion Host란 내부, 외부 네트워크 사이에서 외부 침입을 차단하는 일종이 방화벽, 게이트 역할을 하는 호스트입니다. 위 그림처럼 인스턴스에 접근하는 사용자들을 필터링하는 역할을 수행합니다. 사용자들은 Bastion Host(EC2)에 허가되어야만 내부 Private인스턴스에 접근할 수 있습니다. SSH Public Key를 Bastion Host에 등록해두고 사용자의 Private Key를 받아 인증하는 RSA방식을 적용할 수 있습니다. 2021. 2. 4.