2주 전에 주말에 정규 배포가 있었습니다. 월요일에 출근해 보니 난리가 났습니다. 백그라운드 프로세싱을 담당하는 서버의 성능 저하가 발생하였고, 데이터베이스의 CPU가 스파이크를 치며 특정 쿼리의 성능이 극도로 나빠졌다고 합니다. 두 개 모두 제가 버그와 스토리로 고친 것인데, 2개 모두 문제가 생겨 아침부터 쌩난리가 난 것입니다.

아침부터 바로 매니저 호출 받고, DevOps팀과 회의 후 백그라운드 프로세싱 수정한 것은 원복하기로 결정하였습니다. 코드 원복 후 QA 테스팅 후 오후에 스텔스 모드로 핫픽스. 사실 성능을 더 좋게 만들라는 스토리였는데, 디플로이 전 테스팅에서 일반적인 상황에서는 잘 돌아가고 성능도 좋게 나왔습니다만 프로덕션은 생각치도 못한 다양한 데이터가 있을 수 있는데 그것을 미쳐 생각하지 못해 문제가 발생한 것입니다. 그나마 하루만에 원복을 했지만 팀 스프린트 미팅 때 다시 코드 수정을 해 보라고 하면서 제가 건들기 시작했으니 끝장을 보라고 합니다. ㅜㅜ 애초에 이 스토리는 정말 맡고 싶지 않았던 것인데 BA가 강제로 저한테 할당해 준 것입니다. 메신저로 너한테 보냈어라고 했을 때, OMG을 연발했더니 BA가 그냥 Haha하면서 잘 해보라고 했던게 큰 문제를 일으키게 되었죠.

두번째 데이터베이스 CPU 이슈는 고객에게 항의와 문의가 많이 들어왔으나, 일부 관리자에게만 발생하는 문제라 원인 분석을 한 후 핫픽스 디플로이를 하기로 결정되었습니다. 원래 Bug는 데이터를 엑셀로 다운로드가 안되서 문제를 찾아보니 수많은 Join과 Aggregation 때문에 성능이 안좋아서 발생했던 문제라, 쿼리를 재작성 했는데, 일부 관리자에게서 발생한 문제라 테스팅 당시 발견되지 못한 문제였습니다. 이 이슈는 저의 자존심을 박박 긁어 놓은 이슈입니다. 한국에 있을 때 국국내 최대 사이즈의 Data Warehouse를 운영하면서 쿼리에는 일가견이 있다고 자부했던지라 쿼리에서 성능이 않좋게 나오면 정말 체면 구깁니다. 그동안 유지보수팀에서 성능 향상 전문가로 일하였는데, 이런 문제가 발생하니 정말 면이 안서더군요. 암튼 약 2주동안 DBA랑 하루에 한 번씩 쿼리 다시 작성하고 성능 확인하는 작업을 2주동안 지속했습니다. 담당 매니저가 완벽하게 고치는게 중요하지 빨리 고치는게 중요한게 아니라고 천천히 하라고 기운을 북돋아 줍니다.

한국 같았으면 어땠을까요? 난리 났겠죠. 철야하면서 문제 고쳐질 때까지 붙잡혀 일하는 모습이 눈에 선합니다. 하지만, 정시에 출근하고 정시에 퇴근하면서 문제를 찾아내는 여유는 제가 생각해도 정말 대단한 문화인 것 같습니다. 

2주 동안 개고생하면서 원인 찾아내고 데이터베이스 통계 업데이트하고, 그저께 핫픽스 디플로이로 두번째 문제는 수정되었고 어제부터 다시 첫번째 이슈를 맡아서 원인 분석 및 소스 수정을 담당하게 되었습니다. 나이가 먹어서 그런지 혼자 끙끙 앓으면서 원인 분석하는게 보통 스트레스가 아닙니다. 오늘에야 원인 분석하고 소스 수정하고 모든 퍼포먼스 테스트한 후 PR을 올렸습니다.

나이가 먹으면서 개인적 성향이 많이 변하는 것 같습니다. 예전에는 안되면 말고, 또는 그거는 수정 못해라고 받아치거나 했는데 요즘은 괜시리 그런말 하기보다는 어떻게든 고칠려고 노력하고 거기서 많은 스트레스를 받는 것 같습니다. 날씨의 영향도 많은 것 같고요. 그러면서 어릴 적을 되돌아 보면 아버지 세대가 제 나이 때 즈음 가장 힘들어했던 것 같은 기억이 납니다. 항상 회사 그만두고 싶다, 좀 쉬고 싶다라는 말을 많이 들었는데 그때는 어린 나이에 이해를 하지 못했는데, 이제는 몸소 체험을 하니 그 심정이 어떤 것인지 이해가 갑니다. 얼른 문제 해결하고 좀 쉬운 버그나 고치면서 당분간 스트레스 좀 안 받으면 좋겠는데, 눈에 띄는 버그들은 거의 2년 간 대부분 고쳐졌기 때문에 정말 원인을 알 수 없는 버그들만 큐에 가득한 것 같습니다.

암튼 스트레스에 시달리는 죽음의 2주는 지나갔고, 좀 좋은 일만 있었으면 좋겠습니다. 로또 1등 당첨 같은거요. ㅎㅎ



'개발 이야기' 카테고리의 다른 글

팀 이벤트  (0) 2018.12.04
도메인 주도 설계 - Aggregates  (0) 2018.11.22
도메인 주도 설계 - Designing a DDD-oriented microservice  (0) 2018.11.02
도메인 주도 설계  (0) 2018.10.21
팀 파견  (0) 2018.09.06
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기