장애는 홀로 오지 않는다? !

2019.08.30 07:00




 

복은 쌍으로 안오고 화는 홀로 오지 않는다고 했던가?


 

한번 홈페이지 장애가 생기고 연이어 장애다. 


퇴근 후 

모바일 앱에서 제공하는 일부 서비스가 정상적으로 제공되지 않고, 홈페이지도 접속이 안된다고 연락이 왔다. 


 

내 폰으로는 접속이 잘 되는데??? 


이러면 또 불안하다. 



지금 잠깐만 되는건지, 이제 괜찮아진건지, 사무실에 나가서 확인하고 조치하는게 나을지, 

혹시 괜찮으려니 했다가 결국 뒤늦게 사무실로 나가면 장애시간만 길어지는데 이걸 어쩌나... 


 

조금 더 지켜보기로 하고 스마트폰과 PC를 켜고 교대로 홈페이지를 열었다 닫았다 반복하면서 시간을 보낸다. 


1시간 정도 지났지만 괜찮다.


 

간략히 문자로 윗분들께 상황에 대한 보고를 드리는걸로 오늘은 마무리하고 다음날 출근해서 로그랑 확인하기로 한다. 


 

아침 출근후 이것저것 로그를 뒤져보았더니 WAS가 out of memory를 내면서 잠시 먹통이 되었다가 복귀된듯하다. 


WAS 서버에 heap dump랑 트레이스 파일들을 잔뜩 떨구었다. 


봐도 잘 모르는 덤프파일이지만 텍스트 파일이 있길래 열어본다. 


 


(호스트네임, IP 등 몇가지 정보는 다른 이름으로 대체했음)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[homeapp1:root] /WebSphere/AppServer/profiles/AppSrv01 > cat jdump_HOME1_20190823_193024.txt | more
Dump Time: 20190823/193024
Host Name: homeapp1
IP Address: ***.***.***.***
System CPU(%): 98.7% (user: 94.5%, system: 4.3%, nice: 0.0%, wait: 0.0%, idle: 1.3%)
System Memory(MB) total: 12288.0(MB), used: 12038.7(MB), free: 249.3(MB)
Agent Name: HOME1
Java Process Memory(MB): 797.6(MB)
Java Process CPU(%): 47.5% (user: 47.1%, system: 0.4%)
Java Heap Memory(MB) total: 2048.0(MB), used: 1972.4(MB), free: 75.6(MB)
Concurrent Users: 74
Active Service: 74
Current Arrival Rate(tps): 2.3
Current Service Rate(tps): 0.8
Average Response Time(sec): 14.1
Think Time(sec): 0.0
[Current Active List:]
.D:***.***.***.***:20190823/192745:159049:0.0%:JRSNXT:/action.do:::1 sql:220371 fchtd:     SELECT ..............
......(쿼리문)......
......(쿼리문)......
......(쿼리문)......
WHERE 1=1
cs




 


WAS로 WebSphere를 사용중이고, WAS 모니터링툴로 제니퍼를 쓰고 있는데 제니퍼에서 떨어드린 jdump를 보면 대략적인 시스템 상황을 알 수 있다.


Current Active List를 보다보니 Select 이후 뭔가 길게 길게 쿼리가 나오는데 맨 마지막이 WHERE 1=1이다. 


- ???


- WHERE 1=1 다음이 왜 없지????


- 이게 끝이라고????


- 여기서 짤렸나???

 


홈페이지 운영 담당자를 불러서 이 상황을 설명하고 머리를 맞대고 연구해본 결과.


얼마전 홈페이지 리뉴얼할 때 업체에서 이렇게 만들고 끝냈다고 잠정 결론을 내렸다. . 


검색을 할 때 기간이나 어떤 검색 조건을 주고 검색을 해야 하는데 조건 없이 검색할 경우 테이블을 풀 스캔하는 문제가 발생하는거다. 


이 기능이 자주 사용하는 메뉴가 아니어서 지금까지 몰랐던 모양이다. 


 


홈페이지 개발할 때 그렇게 고생을 시키더니 1년이 넘어서도 애먹게 만들다니, 또 괘씸하네. -,.-


 


그래도 원인을 발견하고 조치할 수 있어서 그나마 다행인 케이스였다. 


원상회복된 홈페이지만 믿고 별생각없이 있다가 또 반복될 수 있는 장애원인을 찾아서 조치했으니 밥값 한거 같아 뿌듯하다. ^^


 



또루아빠 뒤죽박죽 SM 돌파기 , , ,