동시접숙자수, 사이트 버벅임

동시접숙자수, 사이트 버벅임

QA

동시접숙자수, 사이트 버벅임

본문

운영하는 사이트가 피크 시간이 되면 동접사가 대충 200대 후반~300 정도가 되는데요.

 

문제는 이 피크시간에 사이트가 엄청 버벅이기 시작한다는 겁니다.

 

댓글 쓰면 몇 초가 걸릴 정도로요... (동접자 없을때는 렉이 심하지 않아요.) 

 

개인적으로 원인을 찾아보자니, 아마 그 시간대 동시다발적으로 댓글과 글이 올라와서 그런걸로 보이는데요...

 

막 올라올땐 1초에 댓글 5-10개도 올라오더라고요;; 

 

(현재 검색기능은 최소화 시켰으며, 텍스트와 이미지가 주인 사이트입니다.)

 

혹시 이 버벅임을 해소할 수 있는 방법이 있을까요?

 

1. 가상서버로 이사. -> 서버사양만 오른다고 해서 이 문제를 해결할 수 있나요?

 

검색해보니 DB인덱싱 등 최적화 작업이 필수라던데...

 

2. 호스팅 + 최적화 작업 -> DB 인덱싱 등 간단한 최적화 작업으로 이 문제를 해결할 수 있을까요? 

 

마음 같아서는 2번이면 참 좋겠다는 생각이 듭니다 ㅠㅠ

 

동접자수 500명까지만 버텨주면 딱인데 ㅠㅠ

 

3. 마지막으로 DB 인덱싱 작업을 전문가에게 맞길 경우 단가가 얼마정도가 나올까요?

 

이 질문에 댓글 쓰기 :

답변 6

티틴님의 서버환경을 몰라,, 그냥 일반적인 내용을 주절 주절,, 남겨보고자 합니다.
서버를 이전하고, db 인덱싱 및 마이그레이션 등을 진행하는 것은 매우 큰 작업이며, 그러한 작업 이전에,
현재 사용하고 계신 웹서비스의 성능을 스스로 파악해 보시는 것도 좋을 것 같습니다.

 

잘 아시겠지만, 서버를 운영할 때, 실제 사용하는 시스템 리소스가 크지 않음에도 서비스에 로드가 걸리는 경우가 종종 있고, 웹 서비스 구조로 인해 성능이 저하되는 경우가 있기 때문에, 현 서비스(시스템) 상황을 파악하고 있지 않다면,
비용도 비용이지만, 계획 없이 동일한 문제가 스멀스멀,,, 스트레스로 옵니다. ^^;
기본적인 부분을 먼저 체크하시고, 필요한 부분의 전문가를 이용하시는 것도 좋은 방법일 것 같아서 
참조하실 수 있는 url을 남깁니다.
(이중에서 https://httpd.apache.org/docs/2.4/misc/perf-tuning.html 은 참조하셔서 적용할 부분이 있는지 체크해보시면 ^^) 

 

참고 URL 
https://www.linode.com/docs/uptime/monitoring/use-vmstat-to-monitor-system-performance/
https://httpd.apache.org/docs/2.4/programs/ab.html
https://jmeter.apache.org/
https://httpd.apache.org/docs/2.4/misc/perf-tuning.html

 

성능을 올리는 방법은 여러가지가 있는데,, 1, 2단계를 진행하는 경우가 많습니다.

목적은 현 시스템의 문제점 찾고, 1차 보완하고, 서버를 최적화(어느정도는)하여 1대당 처리량을 파악한 후, 시스템 구조를 수정해나가는 것입니다. (추후 트래픽이 늘면 그대로 구조를 늘려가면 되는데, 처음이 번거로워요)


1단계

1. 트래픽이 몰리는 시간에 vmstat, top 등을 이용하여 memory, swap, io, cpu 등의 리소스를 모니터링 한다. 
2. Apache Bench 등의 아파치 웹서버 성능검사 도구를 이용하여 Apache web server가 어떻게 동작하는지,, 초당 몇개의 요청을 서비스 하는지 체크

   DB 처리가 오래 걸리는 SQL이 있는지 체크
3. 1번과 2번에 따라 web server의 튜닝을 진행한다. (튜닝 포인트는 검색해 보시면 정리된 자료가 있을 것 같습니다)
   1번과 2번에 따라 disk, network 시스템 튜닝을 진행한다.

   1번과 2번에 따라 db indexing 또는 SQL문 튜닝


2단계

1. 사용자가 없는 시간대를 택하여 과부하를 시뮬레이션하여 강도를 테스트 한다.
   이때, web, db, disk 등의 throughput을 체크한다.
2. 과부하 상태에서의 throughput을 분석하고, DB 인덱싱, web server 구성 변경, disk 분산 등을 수행합니다.
3. 그리고, 서버 1대에서 서비스(처리) 가능한 최대 동접 사용자 수를 알아냅니다.
4. 1대당 최대 동접자 수를 감안하여 
   서버를 늘리거나 가상서버로 옮기거나 DB system을 변경하거나, multi layer를 구성하거나, 트래픽을 분산 시킵니다.

 

 

이미 알고계신데 제가 넘 오지랍을 ^^;; 길었네요.
수고하십시오.

동접이 많을 때는 전체적으로

모니터링을 해서 큰부하부터 제거를 해야해요

소스를가볍게 해야하고

디비도 인덱싱하고

가급적면 ajax 및 스크립트로

가볍게 다 작업을 해줘야합니다

개발자마다 단가가 틀려서 비용을 말하기는 어렵내요

쪽지 주시면 저기준으로 말씀드릴께요 

먼저 현재 사용 중인 서버 정보가 있어야

정확한 진단이 가능하지 않을련지....

느려지는 원인을 파악하셔서..cpu나 메모리등 어디를 많이 쓰는지 보시고

채팅이라면 접속이후에 푸쉬뿌릴때.....기존값이 이나 로그남기는거 db처리등에서 이슈있습니다. 

보통 DB 문제인 경우가 많습니다.

 

phpmyadmin > status > processes 목록에서, https://cdn.techjourney.net/2015/07/phpmyadmin-show-full-queries.png

오래도록 '처리중' 상태인, (문제가 있는것처럼 보여지는..) 많이 보이는 형태의 SQL 문이 있다면..

해당 SQL 문을 분석하여.. 인덱스 생성, SQL문 튜닝 등을 검토하면 됩니다.

 

웹호스팅인가요?

 

서버 사양의 문제일수도 있겠네요.

궁금했던게 이 부분인데... 웹호스팅 사용하면 튜닝한다고 하더라도 500명 버티기 힘들까요? 검색해보면 튜닝시 2천명도 버틸 수 있다는 글도 본 적이 있어서... 지금 고민거리가 이거거든요. 웹호스팅 버리고 가상서버로 가야되나... (문제는 가상서버를 몰라서 웹호스팅에 남고싶네요 ㅠㅠ)

답변을 작성하시기 전에 로그인 해주세요.
전체 218
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT