개발하는 일상

왜 나는 느린 서버를 만드려고 했을까? 본문

개발 기록

왜 나는 느린 서버를 만드려고 했을까?

롯데빙빙바 2024. 4. 21. 21:10
우리 서버는 응답 시간이 500ms 정도야.
평균 속도보다 느리니까 개선하면 좋을 것 같아.

 

정말 개선하면 좋을까? 좋다면 얼마나 좋은걸까?

프로젝트 Domination Game은 이 질문에서 시작되었다.

그림1. Domination Game 화면

 

Domination Game은 땅따먹기 싸움과 비슷하다. 다만 땅을 따먹는데 1시간이 걸린다.

Dominate 버튼을 누르면 점령을 시작하고, 한 시간 동안 다른 사람이 버튼을 누르지 않길 바라고 있어야 하는 게임이다. 다른 사람이 버튼을 누르면 나는 점령에 실패한다. 점령에 성공하면 쌓인 상금을 받는다.

 

 

Dominate 요청에 서버가 응답하는데 한 시간이 걸린다면, 그 서버는 빠른걸까? 아니면 느린걸까?

나는 게임 소개란에 "알맞게 빠르다" 라고 썼다. (물론 비용을 생각하면 알맞지 않다. 아래 비하인드를 보고 그냥 시적허용으로 봐주시면 좋겠다.)

이 프로젝트에서 나는 더 빠른 서버를 만드는 것보다 다른 목표를 위해 힘썼다. 이 프로젝트에는 빠른 서버보다 그 목표가 훨씬 중요했기 때문이다.

 

 

그래서 어쩌라고?

이걸 보는 사람들이 그저 서버가 빠르면 좋을 것 같아서 서버를 빠르게 만들지 않았으면 좋겠다. 그저 맡긴 일을 잘하려고 하는 것도 아니었으면 좋겠다. 한번씩 생각해봤으면 좋겠다. 내가 하는 일이 이 프로젝트의 가장 중요한 가치에 기여하는 일인가? 항상 이렇게 일할 수는 없어도, 마냥 좋아보이는 것을 만드는 일로만 내 경력이 채워지고 있진 않은지 생각해봤으면 좋겠다.

 

 


몰래(?) 밝히는 실제 Dominate 응답 시간

개발자라면 이미 알겠지만 Dominate 요청은 응답에 한 시간이 걸리지 않는다. 실제로는 1초 미만이며, 그렇게 보이는 척만 하고 있다. 개발기간에만 서버비를 약 7만원 넘게 쓰고 그렇게 보이는 척만 하기로 했다.

원래는 실제로 서버의 응답시간이 한 시간이 걸려야 의미가 있을것 같아 모자란 백엔드 지식을 끌어모아 서버를 만들었다. 멀티코어 cpu로 EC2에 인스턴스를 띄워놓고 2주 정도 깜빡했는데 다음 달 초에 5만원이 청구되고, 조치를 할 때까지 더 쓴 비용이 2만원 넘게 청구되어 총 7만원이 넘는 비용이 청구되었다. 멀티코어 cpu 중에 싼 걸 선택해서 안심하고 있었는데, 계산을 잘못 했었나보다.

서버 비용, 동시성 문제 해결 등 문제가 많아서(실력이 모자라) 결국 한 시간 로딩이 걸리는 척만 하기로 했다. 만들고 보니 의도한 대로 생각한 사람이 있을까 싶기나 하다. 알고 오신 분들은 시적 허용으로 봐주셨으면 좋겠다.

 

 
 

 

Comments