성능테스트를 하면서 많은 사용자가 요청을 보내기 시작했다.
다른 WAS는 큰 무리 없이 잘 돌아가고 있었는데, 데이터 조회와 데이터 적재를 동시에 실행하는 WAS에 문제가 발생했다.
처음에는 WAS 서버에 부하가 많이갔나? 딱히 CPU, 메모리 사용량이 높지 않았는데 왜 그럴까? 재기동하면 돌아올 것 같긴한데?
같은 생각을 하면서 재기동을 준비하고 있었다.
그 때 PL님이 서버에 SSH 접속을 시도 할 때 timeout 에러가 발생했다는 것을 들으시고,
혹시 오픈할 수 있는 파일 설정을 수정한 적 있느냐고 여쭤보셨다.
다시 생각해보니 WAS 서버는 설정하지 않은 것 같았다.
예전에 DB 설치를 위해 DB서버는 OS 파라미터를 설정해두었지만...
그래서 열어보니.. 역시나 default 설정으로 잡혀있었다.
성능 테스트 때문에 동시에 여러 요청을 처리하다보니 오픈할 수 있는 파일 & 프로세스의 숫자가 limit에 도달한 것이 원인으로 판단되었다.
이전에 적어둔 설정 방법을 다시 찾아보고 구글링하면서 설정해두었다.
이후 성능 테스트에서는 더 많은 요청을 보내도 같은 문제가 발생하지는 않게 되었다.
앞으로는 처음에 서버 생성하면 잊지 말고, 먼저 OS 파라미터부터 설정해두어야겠다.
ulimit -n
vi /etc/security/limits.conf
# <domain> <type> <item> <value>
* soft nofile 65535
* hard nofile 65535
* soft nproc 16384
* hard nproc 16384
ulimit -n