일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- multiprocessing
- ai로 앱 만들기
- 스타트업
- 리더
- 공유 오피스
- typescript
- turborepo
- html
- Domination Game
- 2인 사무실
- XFrameOptions
- 빠른 서버
- 구로 디지털 단지 사무실
- 동료리뷰
- Django
- 좋은 리더란
- iframe
- JS
- Regexp
- javascript
- 구로 공유 오피스
- select tag
- css
- select css
- React
- 개발자
- PM
- python
- 느린 서버
- 테드스페이스
- Today
- Total
개발하는 일상
왜 나는 느린 서버를 만드려고 했을까? 본문
우리 서버는 응답 시간이 500ms 정도야.
평균 속도보다 느리니까 개선하면 좋을 것 같아.
정말 개선하면 좋을까? 좋다면 얼마나 좋은걸까?
프로젝트 Domination Game은 이 질문에서 시작되었다.
Domination Game은 땅따먹기 싸움과 비슷하다. 다만 땅을 따먹는데 1시간이 걸린다.
Dominate 버튼을 누르면 점령을 시작하고, 한 시간 동안 다른 사람이 버튼을 누르지 않길 바라고 있어야 하는 게임이다. 다른 사람이 버튼을 누르면 나는 점령에 실패한다. 점령에 성공하면 쌓인 상금을 받는다.
Dominate 요청에 서버가 응답하는데 한 시간이 걸린다면, 그 서버는 빠른걸까? 아니면 느린걸까?
나는 게임 소개란에 "알맞게 빠르다" 라고 썼다. (물론 비용을 생각하면 알맞지 않다. 아래 비하인드를 보고 그냥 시적허용으로 봐주시면 좋겠다.)
이 프로젝트에서 나는 더 빠른 서버를 만드는 것보다 다른 목표를 위해 힘썼다. 이 프로젝트에는 빠른 서버보다 그 목표가 훨씬 중요했기 때문이다.
그래서 어쩌라고?
이걸 보는 사람들이 그저 서버가 빠르면 좋을 것 같아서 서버를 빠르게 만들지 않았으면 좋겠다. 그저 맡긴 일을 잘하려고 하는 것도 아니었으면 좋겠다. 한번씩 생각해봤으면 좋겠다. 내가 하는 일이 이 프로젝트의 가장 중요한 가치에 기여하는 일인가? 항상 이렇게 일할 수는 없어도, 마냥 좋아보이는 것을 만드는 일로만 내 경력이 채워지고 있진 않은지 생각해봤으면 좋겠다.
몰래(?) 밝히는 실제 Dominate 응답 시간
개발자라면 이미 알겠지만 Dominate 요청은 응답에 한 시간이 걸리지 않는다. 실제로는 1초 미만이며, 그렇게 보이는 척만 하고 있다. 개발기간에만 서버비를 약 7만원 넘게 쓰고 그렇게 보이는 척만 하기로 했다.
원래는 실제로 서버의 응답시간이 한 시간이 걸려야 의미가 있을것 같아 모자란 백엔드 지식을 끌어모아 서버를 만들었다. 멀티코어 cpu로 EC2에 인스턴스를 띄워놓고 2주 정도 깜빡했는데 다음 달 초에 5만원이 청구되고, 조치를 할 때까지 더 쓴 비용이 2만원 넘게 청구되어 총 7만원이 넘는 비용이 청구되었다. 멀티코어 cpu 중에 싼 걸 선택해서 안심하고 있었는데, 계산을 잘못 했었나보다.
서버 비용, 동시성 문제 해결 등 문제가 많아서(실력이 모자라) 결국 한 시간 로딩이 걸리는 척만 하기로 했다. 만들고 보니 의도한 대로 생각한 사람이 있을까 싶기나 하다. 알고 오신 분들은 시적 허용으로 봐주셨으면 좋겠다.
'개발 기록' 카테고리의 다른 글
3분만에 합격률 5배 높여주는 지원동기 작성하기 (0) | 2024.10.12 |
---|---|
개발자에게 오퍼받는 개발자 되기(feat. 문대승님) (9) | 2024.09.11 |
갈 곳을 정하지 않고 그만 두는 개발자 이야기 (1) | 2024.03.03 |
vue query 실무에 도입하기 (0) | 2024.01.21 |
10살 어린 대학생 인턴에게 코드 리뷰 빠꾸 먹은 이야기 (0) | 2023.12.10 |