어제부터 원인을 찾아 헤매다, 겨우 CPU Idle을 조금 여유있게 만들어주고,
슬슬 MySQL Status를 보고 있는데,
Table_locks_waited 값이 Uptime보다 꽤 크더군요.
Table_locks_waited = 7일 13시간 24분 42초
Uptime = 6시간 58분 11초
Table_locks_waited 값은 어떻게 해석하는 것이 옳을까요?
아무래도 Thread 숫자로 나눠서 봐야할 것 같긴 한데...
매뉴얼을 읽어 보니, Table locks waited는 단위가 초가 아니라 회수입니다.
박현우님의 경우 Table locks waited가 약 648000 회 정도 되나 보군요.
회수이므로 이것은 총 쿼리 수로 나누는 것이 좋겠습니다.
총 쿼리 수가 안나오니 뭐라 말씀드리긴 어렵구요.
참고 삼아 제가 관리하는 서버를 보니
| Questions | 21930543 |
| Table_locks_immediate | 10362763 |
| Table_locks_waited | 15 |
| Uptime | 1238670 |
참고로 slow query(long query time은 1초)는 10447개입니다.
메뉴얼 상에는 단순히 table locks waited 값이 크면 성능에 문제가 있다고 하는데 얼마 정도가 high한 것이냐는 다른 분들의 서버 status 값을 보는게 좋겠네요.