테스트 사이트 - 개발 중인 베타 버전입니다

서버세팅에 조언을 구합니다. ㅠ _ㅠ

· 13년 전 · 1804 · 11
질게로 가야하나 하고 기웃거려봤지만... 마땅한 분류도 없고 ㅠ 딱히 정답이 있는 문제가 아닌지라...
자게에 끄적거려봅니다. ㅠ

현재 제가 가진 서버중에서 웹서버 녀석이 일주일에 2~3회 정도 메모리 부족으로 죽습니다. ㅠ
아파치를 쓰고 있구요. 현재 같이 물려 쓰고 있는 몇가지 아파치 모듈때문에 nginx로 가지는 못하는 상황입니다.

게다가 제 서버세팅능력이 현저하게 낮은지라... 서버를 안죽이게 세팅을 못하는 상황이에요.
서버성능은 멀티쓰레딩 활성화해서 8코어(실질물리적 코어는 4코어), 메모리는 16기가입니다.

웹서버는 아파치 2.2.x 와 php 5.2.x 사용중이구요.
httpd 데몬이 수없이 떠 있는 상황이고, 자주 죽습니다. = ㅁ=; 머엉

동접자는... 구글 통계에 의하면..


이렇습니다. 피크시간때는 2500~3000정도 찍습니다.

도메인 하나에 대한 동접자이고, 실질적으로는 동접 100~200 정도 되는 도메인들이 이 웹서버에 5개가 더 몰려져있으니, 기본동접은 조금 더 많습니다. = _=

하루 페이지뷰는 대략 1백만 뷰 정도 됩니다.

이 상황에서 위 사양의 웹서버 튜닝을 잘한다면 어느정도 안죽고 잘 굴러갈 수 있을지... 영 불가능하다면... 안정적인 웹호스팅으로 옮겨볼까도 생각중인데요.

8코어 16기가 서버세팅을 그래도 바꾸어서 자체서버로 돌리는게 나을지... (이게 낮다면 어떤 설정값을 해주어야 할까요? ㅠ) 아니면 트래픽제한이 좀 넉넉한 웹호스팅으로 옮기는게 나을지 웹호스팅은 아무래도 서버전체가 뒤지는 일은... 그 업체에서 잘 관리를(?) 할테니 없을거 같다는 생각이거든요.

여러분들이라면 어떻게 대처를 하시겠습니까? ㅠ _ㅠ

덧붙여 별도의 웹서버를 한개 더 구축해서 nginx로 간다면, 더 잘 버틸 수 있을까요?


댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 11개

nginx로 옛날에 대충 이미지만 빼가지고 서버구축을 해본적이 있는데 연결수 1024로 제한해두었을 경우 약 10~15초내에 연결수 1024를 초과해서 뻗어버리더군요. 그래서 그 당시 연결수를 10240 으로 해서 돌리긴했습니다만... 이미지뿐이라면 괜찮겠지만 저기에 디비도 물리고 PHP까지 돌아간다면 nginx로도 뻗을거 같아서 스크립트파일까진 다 옮겨보진 못했습니다. ㅠ
nginx + php 5.3x 로 변경후 상당히 개선되더군요.
메모리 다차고 스왑까지 다 차면 서버가 뻗기 마련인데
nginx+php는 서버가 뻗는경우는 없었던것 같네요.

일단 웹서버단은 튜닝하는데 한계가 있고 웹프로그램(DB)튜닝이 선행되어야 할것 같습니다.

한때는 메모리 상태를 확인하는 스크립트를 짜서 크론으로 돌렸던 적도 있습니다. ㅡㅡㅋ
스왑메모리를 사용하기 시작하면 아파치,mysql 을 재시작해주는거죠.
13년 전
ssd 는 스왑쓰던지 안 쓰던지 상관없지 않나요????
서버 한대로 사용중이면 대단한거네요
서버 한대였다면, 디비서버 웹서버 분리 하시고요, 더 여유가 된다면 이미지 서버까지 분리를 하셔야겠네요
기본 페이지뷰 100만이면 혼자서 관리하기는 힘드시겠네요
13년 전
DB가 안죽는 상황에서 웹서버만 죽는다면, 몇가지 아파치 모듈쪽을 의심해봐야겠네요.
웹서버는 4코어짜리 하나 두대정도 더 장만하시는게 안정적인 서비스가 가능할것 같습니다.
서버는 피크시간대 기준으로 구성을 해야죠. 로그 분석을 통해서 주로 access 되는 페이지를 찾은다음에 이를 캐시화 할수 있는지, 캐쉬화 할수 없다면, 동적으로 변경되는 데이타를 memcached 에 변경시점에 담고, 각 php 모듈이 memcached를 통해서 페이지를 생성하도록 구성하는게 좋을것 같습니다.

그런데...... 서버가 죽는다는게 다운된다는것인지, 더 이상 접속을 받아들이지 않는다는것인지 모르겠네요. 더 이상 접속을 받아들이지 않는다면, port 자원이 모두 time_wait 상태이기 때문이 아닐까 추측됩니다. 이부분은 커널 소프트 옵션을 통해서 어느정도 튜닝이 가능합니다
디비는 버텨줍니다... ㅠ _ㅠ
주로 읽히는부분에 보안적인 문제때문에 캐시화 하는건 현재로선 좀 힘듭니다. 실시간으로 서버에서 로드가 되었는지 안되었는지 체크를 하다보니...

서버가 죽는다는건, 아파치가 메모리부족 에러를 내고 뻗으면 SSH접속뿐만 아니라 다른접속도 전혀 받아들이지 못해 결국 물리적으로 재부팅을.... ㅠ _ㅠ
받아들일수 있는 소켓의 수는 커널컴파일을 통해 10240 정도까지 늘려둔 상태인데도 이러네요 ㅠ
서버 한대더구입하셔야할거 같아요 ;ㅁ; 아니면 사양을 ;;; 높이시는게 ?
13년 전
알쯔님 사이트가 하나의 서버로 버티셨다는 자체가 놀랍습니다. ^^
우선 고려되는 점이 디비서버와 웹서버의 분리가 아닐까 합니다.
아니면 주 사이트와 시스템부하를 많이주는 사이트나 모듈을 사이트를 따로 분리시키는 방법도 있을듯 합니다.
서버 좀 만질줄 아는 분이 제 서버를 많이들 보시곤 가셨는데...
하나같이 하는말이... 이 서버로 이정도 동접을 못버틸리가 없다고!
제가 개발한 프로그램에 문제가 있거나 서버설정에 문제가 있다고들만 하셔서... ㅠ _ㅠ
13년 전
디비서버의 메모리 세팅을 가능한한 작은 수치들로 조정해 보시는 것도 좋을듯 합니다.

게시글 목록

번호 제목
1717629
1717626
1717625
1717621
1717619
1717611
1717610
1717609
1717607
1717601
1717598
1717591
1717590
1717583
1717575
1717572
1717568
1717566
1717549
1717545
1717533
1717512
1717511
1717508
1717495
1717479
1717473
1717470
1717463
1717452