통신드라이버에서 10초마다 실행되어야 하던 타이머가 제 때 실행 못하는 버그 발생.
타이머는 여러개 쓰고있었는데 문제가 관측 된 타이머는 A
처음에 타이머 개수가 많아서 그런가? (원래 타이머는 많이쓰면 안좋다고는 하지만) 해서 나머지를 주석했는데 별 차이 없음을 관측.
그러다 C 타이머 주석하니까 (3초마다 DataBase 확인하는 타이머) 빨라지는거 확인.
보니까 안에 select 구문이 너무 많은 데이터를 불러왔다 where 절에 별 다른 조건이 없었음....
Connection Pool에서 커넥션을 끌어 다 쓰는 구조였는데 여기서 뭔가 딜레이가 생긴 듯 하다
적절한 where 절을 넣어주니 다시 문제 없이 동작!
모든 select 구문에는 적절한 조건을 넣어주자는 교훈..
'업무일지 > 기술' 카테고리의 다른 글
[JS] React 에서 jsx단 에러처리하기 (0) | 2022.12.13 |
---|---|
[Next.js] 외부접속시 데이터 fetch 에러.. (0) | 2022.07.29 |
[C]c#으로 된 샘플api 코드 실행중 dll로드에러 (0) | 2022.01.19 |
[Java] static 남발금지 (0) | 2022.01.17 |
[Refactoring] 현재시점 통신드라이버 리펙토링 해야할 것들 (0) | 2022.01.12 |