개발 Q&A

제목 분산 서버에 관해 조언좀 부탁드리겠습니다.
글쓴이 천재작곡가 작성시각 2015/09/12 14:33:56
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 12304   RSS

현재 회원수 18만정도의 사이트 유지보수를 담당하고 있습니다.

사이트 자체는 대략 10년전에 만들었고,
리뉴얼은 디자인 리뉴얼만 몇번 한걸로 알고 있습니다.

회사에는 개발자는 저와 팀장님, 퍼블리셔 한분 이렇게 세명이고
팀장님은 이 사이트를 약 2년가까이 유지 보수 하셨고,
저는 사내의 다른 사업부 사이트를 개발및 유지보수하다가
이쪽 사이트 사업부와 통합하게 되어 같이 유지보수 하게 되었습니다.

사이트에서  쿠폰을 뿌리거나, 컨텐츠를 무료로 제공하는 이벤트를 많이 진행하는데,
구글 애널리틱스 기준 실시간 활성 사용자 500여명,
ps -ef | grep httpd 명령어로 확인햇을때는 약 100명정도가 되면,
서버가 급격히 느려져서
최근에 DB서버를 다른 서버로 분리해냈습니다.
하지만 그래도 700, 200 정도로 조금 늘어났을뿐 크게 차이가 없는것 같아

웹서버를 분산하려고 하는데,
서버 호스팅을 받고 있는 업체에서 L4 분산 ( 서버쪽 지식은 초보적인 수준입니다 ㅜㅜ)
을 이용해서
파일 서버 한대를 두고 웹서버 2대를 두고
웹서버 2대는 파일 서버 한대에서 동기화를 받는 방식으로 진행하고,
이미지나 자바스크립트, 스타일시트 역시 파일서버에서 불러오게 하려고 봤더니

각 게시판 이나 업로드해놓은 경로는 모두 파일 서버기준으로 수정해야 되구,
파일 업로드 역시 파일 서버로 업로드 되게 수정해야할 것같은데,
파일 업로드는 함수 몇개만 손을 보면 될것같지만,
이미지를 불러오거나, 업로드된 파일 불러오는곳등등은 전부 일일히 손으로 수정해야 할것같은데
경영진은 가능한 5일이내에 해내거나,
아니면 다른 좋은 대안을 달라고 하였는데,
혹시 좋은 대안이 없을까요?

현재 파일은 대략 1만여개가 있는 것같고 
(물론 예전 소스인지라 파일을 많이 조각 내서 쓰고있고, 유지보수를 계속 해오시던 분들이
사용하지 않는 파일을 '어디서 쓰고 있을지 모르니 함부로 분리할수 없다' 라는 이유로 계속 유지해온터라
수정 소요가 너무 큰것같습니다)

혹시 웹서버 분산히에
이미지 타입이나 자바스크립트, 스타일시트등은 특정 Ip에서 가져오게 할순 없는지요?
예를들어 content-type 이 image/jpeg 이런식이라면
해당 파일은 현재 문서를 불러오는 111.111.111.111 이 아닌 111.111.111.222 여기서만 불러오게 한다던지
하는게 없을까요?

사이트 자체가 euc-kr에 코드도 최적화가 안되있구...
DB도 튜닝을 한번 해야할것 같은데
리뉴얼을 하자고 건의를 드려도 항상 당장 하기엔 무리가 있다고 미루시니 ㅜㅜ

p.s 현재  서버는 아파치를 쓰고있는데,
개발서버에는 nginx 를 한번 세팅해서 써보고 있습니다.
혹시 rewrite 모듈을 이용해서 가능한방법이 있나 궁금합니다.

 다음글 node.js 변수 스코프 질문합니다.. (1)
 이전글 mysql 에서 두개 이상의 테이블을 하나로 합치려고 ... (9)

댓글

변종원(웅파) / 2015/09/13 14:09:11 / 추천 0
파일서버에서 nfs서버 돌리고 웹서버에서 마운트해서 디렉토리처럼 쓸수 있습니다. 예전 디렉토리명으로 마운트를 하면 수정없이 그대로 사용할 수 있습니다.
들국화 / 2015/09/13 23:45:27 / 추천 0
타입으로 분리할수도 있긴 하지만 추천하지 않고요.
뭐가 문제인지 프로파일링을 해보는게 우선인것 같네요.
L4가 비용문제가 있다면 DNS로도 RR로 가능 합니다.
 
천재작곡가 / 2015/09/14 08:24:36 / 추천 0
두분 조언 정말 감사드립니다
특히 nfs 서버 돌리는건 처음 보는방식이라 한번 더 찾아봐야겠네요 감사합니다
회사에서 비용은 상관없으니 시간에만 맞춰달라고 했습니다 ㅜㅜ
들국화 / 2015/09/14 11:34:47 / 추천 0
@천재작곡가// 비용관계 없이 시간만 맞춰도 된다면 cloud도 추천 드립니다.
이것저것 필요한것 추가하고 설정하면 편하게 구성할수 있습니다.
다만 클라우드를 배우는 비용은 발생 하겠죠.