database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30558 게시물 읽기
No. 30558
동접자 2만을 예상하고 있는데 DB 서버를 어떻게 구성해야 할지..
작성자
비됴(videogirl)
작성일
2013-02-26 16:24
조회수
11,058

 

현재 이벤트 형태로 셈플신청 사이트를 구축해야 합니다.

우선 내부에서는 동접자 2만명을 예상하고 있습니다.

그것에 맞게끔 서버를 구축해야 하는데 웹서버쪽은 큰 문제가 없는데 DB 서버를 어떻게 구성해야할지 막막하네요.

통계나 이런건 없고 단순 Insert 와 select 이 구문 뿐입니다.

    - CPU : 2.40GHz Six-Core / 12M Cache 

    - Memory : 16GB 

    - HDD : 300GB SAS 3.5"(15K rpm) - Hotswap 4 Bay

정도의 사양이면 동접자 몇명이나 커버가 가능할까요 ?

그리고 동접자 2만이 들어와서 insert 를 발생 시키는데 서버를 어떻게 구성해야 할지 모르겠습니다.

기존에는 mysql replication 구성해서 Master 에서는 insert update , slave 에서는 select 로 사용했었는데

이번 경우는 동시에 대량의 Insert 가 발생하는 관계로 어떻게 해야 할지 모르겠네요.

대량 컨넥션 및 Insert 부분 처리시 참고할 만한 뭔가가 없을까요 ??

 

이 글에 대한 댓글이 총 7건 있습니다.

 동접 이라는게 어느걸 기준으로 말씀 하시는건지 -.-;;;;;; 초당? 분당? 시간당? ....

(설마 딱 동시에 이만명 붙을꺼라고 생각하시는건 아니겟죠?? ㄷㄷㄷ)

team b(teamb)님이 2013-02-27 10:20에 작성한 댓글입니다.

2만명이 동시에 insert 하는 것 입니다.

현실적으로 말이 안된다고 해도 위에서는 만약에 그렇게 되서 서버 다운 되면 어떻할거냐 라고 하니...

참 답이 없네요..ㅋ

비됴(videogirl)님이 2013-02-27 17:37에 작성한 댓글입니다.

 꽤 많은 정보가 있어도 답 안나오는 질문인데요 뭘... (그리구 제가 언제 다운되면 어쩔꺼냐고 했음꽈? ㅋㅋ 기준정도나 물어본거지..-.-;;;)

고작 CPU, 메모리, 하드 디스크 정보쯤 정도로 어떤 것을 바라시고 질문 올리신건 아니잖아요?

 

디비커넥션이나 기타 다른 문제를 제외 하고라도 웹서버단까지만 해서 동접 2만 예상 하는것도 졸라 힘들텐데요?? 

 

일단 간단하게 '동시접속자수' 정도 같은 키워드로 구글링 한번 해보시구요..

 

디비커넥션 쪽 부분은 뭐 미들웨어에서 커넥션풀링 좀 쓰고 해야겟죠.. 정안될꺼 같으면 SQLite 같은 속도좀 빠른 로컬디비에 버퍼링 해서 다시 그걸 MySQL 서버로 올리시던가요..

team b(teamb)님이 2013-02-28 09:21에 작성한 댓글입니다.

 ㅋㅋ; '위에서'라는게 team b님을 이야기 한게 아니라 회사의 윗 사람을 이야기 한 듯 합니다~

허정수(wertyu)님이 2013-02-28 11:52에 작성한 댓글입니다.

헉;;;제가쓴 "위에서 만약에 는" 회사 윗사람들 이야기 였습니다.ㅋ

team b 님 한테 이야기 한게 아니에요. 기분나 빠하지 마세요.ㅠㅠ

저도 답이 없는건 아는데 위(회사윗사람들 입니다.ㅋ)에서는 답을 요구 하니...

에효...전 여전히 알아보고 있다고 하고 있네요.

 

비됴(videogirl)님이 2013-03-05 13:48에 작성한 댓글입니다.

 @비됴 // ㅠㅠ 죄송합니다. 제가 좀 난독증이 있어서... 그만 착각을 했네요... 

 

설득하기 젤 좋은 방법은 직접 보여주는건데...흠.. 뭐 사실 눈으로 보여줘도 뭔지 몰라 하는 분들이라면...ㅋㅋㅋ

 

실제 운용될 사이트랑 비슷하게~ 최소한으로 구축하셔서 스트레스 테스트툴 같은걸로 간단하게 확인해보세요..

 

team b(teamb)님이 2013-03-06 11:40에 작성한 댓글입니다.

 윗선이 동접(동시접속자수)를 정확히 아는지가 문제겠네요.

 

실시간처리하는 시스템이라면 동접2만이 나올수도있을수있습니다.

(동영상 스트리밍서비스같이 장시간 네트워크 트래픽을 물고있는경우)

 

그런게 아닌 일반적인 웹서비스라면... 현 접속자수의 1/10 정도가 동접이라고 보시면 될겁니다.

(물론 아시겠지만..)

 

동시성에 대한 이펙트는 성능에 대한 문제가 아닙니다.

접속 처리에 대한 이슈가 있는거죠.
 

웹서버는 괜찮다고 하시는데..

 

제가 해본바로는 제일먼저 아파치의 커넥션이 풀차서 서비스 거부 현상이 발생하고.

그다음이 DB connection FULL 현상으로 인한 지연 현상이 발생합니다.

 

쉽게 말해서 동시 처리할수있는 한계가 아파치 커넥션풀은 1024이며,

mysql 커넥션 풀역시 my.cnf 마다 틀리겠지만 대당 1K(1024)로 보시면 맞을겁니다.

 

결국 라운드 로빈이나 로드밸런싱을 해주거나 M/W와 캐시서버등을 이용한 커넥션풀을 사용하셔야 할겁니다.

 

아무리 성능이 좋아도 서버 한대당 처리할수있는 접속수는 한계가 있으므로 

병렬처리(대수를 늘려서 분산시켜주는방식) 해주는게 답일껍니다.

 

소위 윗사람들은 1000명에서 2000명 늘면 단순히 2배 느는거라고 느끼겠지만..

시스템은 2n+1 만큼 증가하게 될겁니다.

 

그리고 이건 직접 격어보지 못하면 체감하지 못하는 부분이기도합니다.

이창민(prosper)님이 2013-03-07 09:39에 작성한 댓글입니다.
이 댓글은 2013-03-07 09:39에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
30561이중 Cursor문(Nested Cursor)문에서 Fetch 하는 방법??
김주성
2013-03-02
9747
30560mysqldump 문의 입니다. [2]
강삼수
2013-02-28
9696
30559두 기간 중복 날짜 비교 [4]
이한나
2013-02-27
11301
30558동접자 2만을 예상하고 있는데 DB 서버를 어떻게 구성해야 할지.. [7]
비됴
2013-02-26
11058
30556innodb와myisam차이점 [1]
김성환
2013-02-20
10485
30555안녕하십니까 프로그램때문에 뭐좀 여쭤보려고 합니다 [2]
꿈!
2013-02-15
8067
30554mysql replication 차이가 점점 벌어집니다.
설재형
2013-02-14
8245
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다