도리안의 개발 이야기 #171 - 로그에 출력되는 쿼리 코드로 인한 분석의 어려움

in #kr-dev5 years ago



대문 제작: imrahelk

거의 이틀만에 글을 쓰네요. 일이 바쁠 때는 글쓸 시간이 부족하기도 하지만, 무엇을 써야할지 생각이 나지 않을 때도 있어요. 어제 밤에 자기 전에 뭘 쓸까 생각했지만, 딱히 떠오르는 게 없어 그냥 잠자리에 들었어요. 이제야 시간도 조금 나고 주제도 있어 포스팅을 시작합니다.

서버의 오작동을 분석하기 위해 필요한 것은 로그입니다. 필요하다고 판단되는 데이터를 로그에 기록하면, 나중에 서버가 어느 시점에 어떻게 작동을 했는지 파악할 수 있습니다. 이를 토대로 오류의 원인을 찾을 수 있고, 디버깅도 할 수 있습니다.

로그는 너무 적어도 안되고 너무 많아도 안 됩니다. 너무 적으면 서버가 어떻게 작동했는지 파악하기 어렵구요. 너무 많으면 분석하는데 시간이 너무 오래 걸립니다. 로그 출력 코드를 만들 때에는 필요 이상으로 많은 출력을 하지는 않는지 확인을 해보는 것도 필요합니다.

지금 운영 중인 서버는 데이터베이스 쿼리들이 실행될 때마다 쿼리 코드도 로그에 출력됩니다. 로그에 쿼리가 있으면 분석하기 좋지만, 너무 많아서 문제입니다. 너무 많아서 로그 분석에 어려움이 있고요. 쿼리를 그냥 봐서는 이게 무슨 동작인지 확인하기가 어려운 점도 있습니다. 특히 수십줄 이상의 쿼리가 로그에 있으면... 상상도 하기가 싫어요.

로그에 출력되는 쿼리의 대안으로 프로시저를 생각하고 있습니다. 쿼리는 이해하기 위한 시간이 필요하지만, 프로시저는 그 이름만 보고도 이해하기가 훨씬 쉽습니다. 지금은 프로시저를 만드는 방법을 잘 몰라서 공부를 해야 합니다. 프로시저를 배우고, 이후에 작성할 쿼리는 프로시저로 만들어 사용할 예정입니다. 좀 더 시간이 있다면, 기존 쿼리를 프로시저로 대체하는 것도 해보고 싶어요.

aaronhong_banner.jpg

Sort:  

아낌없이 주는 나무 후원으로 왔어요

Posted using Partiko Android

big-tree-3443533_960_720.jpg

아낌없이 주는 나무 후원으로 왔습니다:)

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63878.47
ETH 2625.83
USDT 1.00
SBD 2.79