…반쯤은 유머니 적당히 해석합시다(먼산).
후배인 (전직) 게임 개발자 i 모군(대역;가명)과의 대화 :$
[18:38:26] <i> 먼가 만들것좀주실분 ㅠ [..] [18:38:54] <rein> ... [18:38:58] <rein> 자동 코딩 머신이 필요함 [18:39:07] <rein> 기왕이면 멀티스레드 응용에서 레이스 컨디션도 좀 잡아주고 [18:39:11] <rein> 데드락 프리딕션도 좀 해주고 [18:39:12] <rein> ... [18:39:20] <i> ㅇㅇ [18:39:21] <i> 저도필요함 [18:39:31] <i> 쓰레드기능은 없어도괜찮음 [18:39:40] <rein> 아 안돼 [18:39:41] <rein> ... [18:39:57] <rein> new BYTE[ length ] [18:39:58] <rein> 해놓고 [18:40:04] <rein> 또 new BYTE[ length ] [18:40:05] <rein> 하고 있네 [18:40:06] <rein> ... [18:40:10] <rein> (같은 포인터에 할당) [18:40:11] <i> 괜찮아요 [18:40:13] <i> 안죽으니까 [18:40:18] <rein> 결국엔 죽어 [18:40:18] <rein> ... [18:40:23] <rein> 하드 긁다 큐 뻑남 [18:40:32] <i> ㅇㅇ [18:40:32] <rein> 시간이 좀 걸리긴하겠지만 [18:40:34] <i> 서버는 [18:40:38] <i> 정기점검 시간이있는게 [18:40:41] <i> 좋은거같음 [18:40:48] <rein> ... [18:40:50] <rein> 실로 그러함 [18:40:55] <rein> 인덱스도 리빌드하고 디비도 튜닝하고 [18:40:59] <i> ㅇㅇ [18:41:00] <rein> 죽은 메모리도 반납하고(...) [18:41:04] <i> 말도안되는 버그로부터 [18:41:05] <i> 안전함 [18:41:08] <rein> ㅇㅇ [18:41:09] <rein> ... [18:41:24] <i> 제가 21일 지나면 서버가 죽는 버그 [18:41:27] <i> 말씀드렸었던듯 [18:42:36] <rein> ...
사실 주기적으로 전체 시스템을 내렸다 올릴 수 있다는 것만으로도, 단위가 크지 않은 메모리 릭[1] — 물론 반복도 적어야 — 이나, 잘 설계되지 않은 디비 인덱스 문제 같은게 해결된다(…).
메모리 릭은 프로세스에 종속된 거니 다시 시작하면 그만이고, 디비 인덱스도 빨리 못만들어낼 — 실시간으론 하면 안될 — 녀석들도 만들어내면 그만이니까 -_-;;
여담이지만 하드웨어 성능이 지금보다 안 좋았던 2000년대 초반의 게임들은 디비에서 데이터 삭제 자체를 안하고 넘어가는 경우도 왕왕 있었다고 한다. 디비 커밋 — 특히 하드디스크를 꼭 갔다오는 — 연산들은 최대한 피하려고 메모리 디비에 "지워졌다"고 체크만 해놓고, 이것도 묶어서 커밋하고(…), 정기 점검 시간에 몰아서 삭제하는 일을 했다고 한다(…).
- 위에서 내가 결국엔 죽는다고 말한 것도 반응 속도가 생명인 게임 서버의 경우 메모리 릭 때문에 물리 메모리가 모자라서 하드 스왑을 시작하면 반쯤 죽은거라고 봐도 무방하기 때문. [↩]
내친 김에 db 캐시도 함께 정리해주는 센스!!
훗, 21일 정도면 괜찮은데요(응? …)
걍 군주님 생축임?
고어핀드 / 할꺼다하고 올리는거지(…)
오스카 / 4 bytes 틱 쓰면 4x일가니까 21일은 짧지 않아요(???)
doongk / 원래 20살 이후의 생일이란건 우울한거임
제가 맡고 있는 서비스도… 약 70일정도 서버 점검 없이 갔더랬죠[…]
결국 문제생겨서[…] 전체 리붓 한번 ㄳ
M모 게임인가!
빌게의 윈도우는 리붓해야 제맛