mysql DB 동시접속 5000명 처리 하려면요?

   조회 5404   추천 0    

홈페이지 예약시스템에서 mysql db 를 사용하고 있는데요.

접속자가 3000명이상 넘어가면 db connect 오류가 납니다.

mysql 최대 접속자를 10000명으로세팅해놨는데데 동시속자수가 3000명정되네 db 접속 오류가 나네요.

KT 클라우드를 이용하고 있구요. 1대 웹서버, 1대 DB서버  각각 CPU 16core와 32GB 메모리 를 서비스 하는데요. 시스템은 괜찮을 듯 한데요.

동시접속수 5000명 이상 처리할 수 있게 하려면

시스템 구성을 어떻게 하면 될까요?

도움을 받고자 합니다. 


반갑습니다.
짧은글 일수록 신중하게.
감자 2022-08
DB 커넥션 풀 설정 하시기 바랍니다
     
천마건빵 2022-08
답변 감사합니다.
커넥션풀을 알아보겠습니다.
별해는아해 2022-08
물리적으로는 메모리 증설이 필요합니다
이것도 계산하는 공식이 있긴합니다

근데 이정도면 sql튜닝없이는 서비스 오픈하면 cpu가 100%되서 서비스가 안될겁니다
     
천마건빵 2022-08
메모리를 더 늘려보겠습니다. 답변감사합니다.
NaN 2022-08
어플리케이션에서 커넥션 풀을 사용하세요..
구차니 2022-08
추석맞이 대박나시나 보네요. 언넝 해결되시고 사업 번창하세요!!
     
천마건빵 2022-08
감사합니다.
박문형 2022-08
잘은 모르지만

DB 서버 메모리를 2배 늘려보고 동접수를 모니터링해서 6000명 정도까지 버티는지 보고 버틴다면 메모리를 더 늘려 보는 방법을 써보고

동접수가 6,000명 정도가 안된다면 1대의 웹서버가 받아주는게 한계라고 보고 웬서버를 한 대 더 늘려보는 방법은 어떨까요??

단순 하드웨어적인 측면으로 생각하는 것입니다..

그리고 각 서버에 걸쳐 있는 네트워크에도 얼마나 부하가 걸리는지 알 수 있으면 좋습니다..

옛날에는 디스크 성능이 나빠서 성능 좋은 좋은 스토리지 들이 필요했는데 지금은 SSD들의 성능이 좋아서 많이 대체되고 있기는 합니다..

그래서 스토리지 이슈들은 어찌 보면 적어졌다고도 볼 수 있습니다..

그러나 대용량으로 가면 역시나 스토리지 성능도 같이 좋아져야 하는데  DB 서버 스토리지 성능 때문에 동시접속자 수에 제한이 걸리는지도

체크 해봐야 합니다..


소프트웨어적으로 먼저 접근한다면  DB 튜닝과 메모리 증설 정도가 먼저 해야 할 일로 생각됩니다..
     
천마건빵 2022-08
답변 감사합니다.
메모리도 늘려보고 여러 방밥을 찾아보도록 하겠습니다.
          
박문형 2022-08
돈이 들어가는 일이니 충분히 검증해보고 실천에 옮겨 보세요..
dateno1 2022-08
일단 3000명 되었을때 상태를 모니터링해보세요

뭐가 모잘란지 알아서 뭘 증설할지 답이 나옵니다
     
천마건빵 2022-08
감사합니다.
          
dateno1 2022-08
다만 시퓨나 램같은 스팩 증설도 한계가 있어요 (일정 이상 스팩 올릴려면 돈이 기하급수적으로 들어감)

1만명이나 상정하신거라면 쿼리 최적화는 필수고, 최대 접속 허용시간등 설정도 재검토하셔야 할껍니다
별해는아해 2022-08
connection pool 을 사용하는가? (가능하면 connection pool 적용 , 또는 aws db proxy 같은걸 사용)
현재 동접 3000명일때, 실제 db connection 은 몇개인가?
동접 3000명이라고 해도, 실제 예약을 하는 사람의 비율은 어떻게 되는가?(부하테스트시 think time, 실제 트랜젝션 처리시간/비율등)
mysql 파라미터에서 세션 메모리 관련된 파라미터는 어떻게 설정했는가?
기타 등등 확인해야될 사항이 많죠

제일 쉬운건 메모리 증설이죠
     
천마건빵 2022-08
넵, 감사합니다.
츄네다 2022-08
커넥션 풀 사용하고 커넥션 유지 시간을 짧게 해서 안쓰는 유휴 커넥션을 빨리 빨리 끊도록 해야합니다.
     
천마건빵 2022-09
감사합니다.
감자 2022-08
질문글 답변 받고 원본 글 지우시지 마시길 바랍니다.

요즘에 그런 분들이 자주 있어서 말씀 드려 봅니다.
     
천마건빵 2022-09
네^^
엠브리오 2022-08
체크해볼 사항은 다음과 같습니다.

1. 웹서버 최대 접속자수 늘리기
2. MySQL 데이터베이스 최대 커넥션 숫자 늘리기
3. PHP를 쓰고 있다면 PHP 설정을 수정해서 역시 최대 접속자수 늘리기

물리적인 메모리 증설은 저걸 다 점검한 이후에 하는게 좋습니다.
     
천마건빵 2022-09
답변 감사합니다.
3. PHP를 사용합니다.
PHP에서 최대 접속자수는 어떻게 늘리는지 알려주시면감사하겠습니다.
강한구 2022-09
db쪽을 aws쪽으로 바꾸는게 비용적으로나 스트레스가
줄어들겁니다
인서트 및 셀렉트 관련해서 커넥션 정보 별도로 처리되고
부하시에 셀렉트 부분 접속라인 몇개까지인지 설정으로 변경가능합니다
이벤트위주 쇼핑몰 할때 이렇게했었고
이벤트시 최대 팔천명정도 동접처리 잘 되는것 확인했었습니다
강한구 2022-09
아 한가지 첨언하면 하나의db가 아니라서
인서트 후 셀렉트 바로 할때는 시간체크를 해보셔야합니다


QnA
제목Page 2633/5709
2015-12   1683562   백메가
2014-05   5148980   정은준1
2006-12   5159   김영석
2013-06   5159   이해하면오…
2005-11   5159   박재석
2018-05   5160   김제연
2018-06   5160   블루모션
2012-02   5160   서현석
2014-08   5160   무아
2008-08   5160   김상원
2007-05   5160   강성
2018-04   5160   페르세우스
2012-11   5160   장동건2014
2006-09   5160   이문흠
2006-09   5160   최창현
2006-01   5160   이충희
2007-02   5160   윤귀진
2012-09   5160   trinetra
2015-08   5160   블랙
2014-11   5160   이원재K
2015-05   5160   카미나기
2009-02   5160   임진욱