컴퓨터는 쉴때 뭐할까?
컴퓨터는 쉬는시간에 뭐할까 예전에 리눅스에 간단한 앱을 올리는데, 큐에 요청이 없다면 while문이 돌면서 대기하게 했다. 그런데 cpu 사용률이 너무 올라가서 sleep 코드를 삽입했고, 그제서야 점유율이 줄어들었다. 그러다가 유휴 프로세스에 대해 알게 되었고, while문 공회전과 어떤 차이점이 있는지 궁금해서 한번 알아봤다. 유휴 프로세스...
컴퓨터는 쉬는시간에 뭐할까 예전에 리눅스에 간단한 앱을 올리는데, 큐에 요청이 없다면 while문이 돌면서 대기하게 했다. 그런데 cpu 사용률이 너무 올라가서 sleep 코드를 삽입했고, 그제서야 점유율이 줄어들었다. 그러다가 유휴 프로세스에 대해 알게 되었고, while문 공회전과 어떤 차이점이 있는지 궁금해서 한번 알아봤다. 유휴 프로세스...
어드민을 분리하다가 프로젝트의 어드민 코드를 손보다가 여러 생각이 들었다. 고민했던 흐름대로 글을 한번 써보려고 한다. 고민의 시작 어드민 분리 └── infra └──config └──logging └──.... | └── domain └── admin └── community └── post...
게시판을 만들다가 게시판을 만드는데 유난히 게시글을 불러오는 속도가 느렸다. 아무리 생각해도 쿼리 문제는 아닌 것 같았다. 지금 더미데이터 10개밖에 없는데 쿼리 문제 나기도 힘들다. 혹시나 네트워크 쪽에서 문제가 있나 싶어서 크롬 탭을 열어봤다. 확인해보니 단순히 글 하나 불러오는데 500ms ~ 1s까지 걸리고 있었다. 무엇이 문제인지 한번 ...
서비스의 한계 지도로 이미지를 만드는 서비스를 운영중인데, 어느 정도 한계점에 다다른 것 같다. 트래픽도 늘 DAU 100 ~ 120명 정도이고, 지도로 해볼만한 기능은 이것저것 다 해본 것 같다. 예전부터 게시판이나 채팅같은 기능을 추가해보고 싶었는데, 업무 자동화 사이트라는 서비스의 성격과 어울리지 않는 것 같아서 항상 생각만 해왔다. 그...
남,여 인덱스 예전에 면접에서 들은 질문이기도 하고, 면접 예상 질문 목록에 보면 흔히 보이는 주제인 것 같다. 누워있다가 갑자기 생각나서 머릿속으로 실험만 하다가 한번 직접 코드를 쳐보기로 했다. 내 생각으로는 성별 단일 인덱스는 큰 효과를 보기 어려울 것 같았고, 복합 인덱스를 걸면 조금이라도 효과를 볼 수 있지 않을까 하는 궁금증에 시작하게 ...
사건의 흐름 03.23 테스트 환경을 분리중이었는데, 람다쪽 환경을 어떻게 분리할까 하다가 그냥 테스트용 메서드를 하나 더 만들기로 생각했다. 그렇게 대충 구상만 하며 오전을 뒹굴뒹굴 보냈다. 21:30 # 기존 값 service: mapshot-image-lambda provider: name: aws runtime: nodejs14...
네이티브 이미지 사용기 10개월 정도 GraalVm을 이용한 Native Image를 사용해서 개인서비스를 운영해봤다. 그동안 겪은 이슈나 운영 후기들에 대해 간략히 적어 놓으려고 한다. 시작 동기 서버메모리 사용량 aws t2.micro를 사용중인데, 램이 1GB인 서버다. 그래서 항상 리눅스 메모리 사용량을 보면 80~90프로에 육박하고...
테스트 api 서버 구축하기 평소에는 그냥 배포 나가는데 이번에 나갈게 코드 변경이 꽤 많아서 뭔가 후달린다. 마침 개인적으로 쓰던 웹서비스 샤따도 내렸겠다 남는 서버로 테스트 서버를 구축하기로 했다. cloudflare 먼저 dns records 란으로 들어가서 ip를 잡아준다. 클라우드플레어가 이런건 추가 과금 안해서 좋은 것 같다. 마...
그라파나 설정하기 기존 서비스에 whatap이라는 apm을 사용해서 모니터링 중인데, 리눅스 서버 모니터링만 하고 있는 상태다. 자금 문제, 서버 스펙문제 등으로 인해 어플리케이션 모니터링은 불가능한 상태였는데, 힙사이즈나 GC 타이밍을 좀 보고싶어졌다. 운영중인 서비스가 메모리 관련 이슈가 분명 있는 것 같은데, 힙덤프를 떠봐도 메모리 누수 같은 ...
문제 상상하기 @Service @RequiredArgsConstructor public class StorageService { private final Map<String, StorageInner> map = new ConcurrentHashMap<>(); public void add(StorageInner...