SharedIT | 묻고 답하기(AMP)

nginx+ tomcat 의 대용량 세션 수 처리 문제

L4 구성 서버 6대 (v2cpu, mem 16Gb )

1대 서마다 (nginx1.19 + Tomcat 9.0.x)

 사용하는 유저입니다.


특정시간에  동시접속사용가 몰리는데  tomcat 에서 처리를 못하는거 같습니다.

 -  APM 기준으로 동접당 450?정도 몰릴떄가 있습니다. 

maxThread 는 어느정도까지 설정 해야 안정적으로 운영될가요?

현재는 500으로 체크해놓고 있습니다.  500이 안정적이라고 해서 더 올려도 될까요?

현 guest os 당 vcpu 2-> 4개로 올리면  세션 몰릴때 어느정도 안정이 될까요?

동시접속처리하는 우선적인 hw기준이 어떤것인지도 궁금합니다.


경험이 많으신분들의 의견 부탁드립니다.


Tags : 태그가 없습니다.

4개의 답변이 있습니다.

쿨가이
  0 추천 | 약 2년 전

로그분석해보신 후 문제점 해결하시는게 제일 좋지요.

동접숫자상은 크지 않아 보이는데 트래픽은 꼭 선형비례하지는 않기도 하지요

CPU, RAM 업그레이드 가능하면 이부분 진행해 보세요

topkslee
  0 추천 | 약 2년 전

엔진엑스+tomcat 6대로 동접 450정도는 큰 사이트는 아닌것 같습니다.

동접때 APM에서 처리 시간도 늦어지는지 체크 해보시구요.

처리시간이 평상시와 동접 max 차이가 많다고 하면 CPU를 늘려주시는게 좋습니다.

성능의 가장 큰 효과는 CPU 처리입니다.

메모리의 경우 tomcat은 기본적으로 Heap memory 설정이라 힙메모리는 설정 값이

확인 해보시고 조금씩 조정하면서 처리속도를 보시면서 튜닝하시면 좋습니다.

maxthread 500 * 6대 로드밸런싱이기때문에 최대 3000이라 부족해 보이지는 않습니다.

그리고 처리 속도가 느린 SQL도 튜닝하시면 효과 많이 보실것 같습니다. 

라크렐라 | 약 2년 전

heap memory  설정을늘리고 vcore 수를 조절하니 조금 버틸만합니다.

답변주셔서 감사합니다.

wansoo
  0 추천 | 약 2년 전

구축되어 있는 서비스 내용에 따라 차이가 있지 않을까 싶어 보이고요.

우선적으로 메모리, CPU가 좀더 확장되어 주는게 맞지 않을까 싶어 보이네요.

PC도 아니고... 서버인데... 메모리가 16G는 너무 적은 것 같네요.

로드밸런싱까지 하는 서버라면... 64G, 128G 정도는 메모리를 꽂아서 사용하는게 좋지 않을까 싶어 보이고...

지금발 생하는 부하로 성능에 문제가 있다면 메모리 부터 추가해서 직접 비교 검토해 보는 게 맞을 것 같아 보이네요.

빨간신발
  0 추천 | 약 2년 전

vCore 2개면 물리코어 1개입니다..

상용 클라우드라면 코어따라서 가격이 달라지니 민감하지만

자체적으로 가상머신을 돌리신다면 cpu를 많이 부여하는 것이 어떨런지요.

메모리리는 독점이고 cpu는 공유입니다.

다른 가상머신이 cpu를 안쓰면 필요한 가상머신이 더 쓸 수 있습니다.

6대를 돌리정도면 톰켓보다도 db쪽에서 부하가 걸릴 가능성이 높겠네요.

접속자 수는 테스트하시면서 순차적으로 늘이거나 줄이거나하는 방법으로 접근하세요.

라크렐라 | 약 2년 전

db트랜잭션은 늘 모니터링하는데 크게 부하는 없고 core를 일단늘려서 조금 안정되었습니다.

감사합니다.