Movable Code

Trade, Robot, Policy

DreamHost (드림호스트) 제대로 활용하기

with one comment

3월중순에 이상한 지름신이 강림하셔서 드림호스트를 넙죽 신청했었다.
다른것 보다 TracSubversion 을 마음대로 쓸수있고, 용량과 트래픽이 장난이 아니라는…. 하지만 CPU 쓰로틀링이 적용되어있어서 꽤 느리다는… 뭐 이정도 정보를 가지고 가입을 했다.

많은 사람들이 DreamHost 를 사용한다. 국내에 많은 블로거들도 사용하고 있는것으로 아는데, 근 3주간 사용하면서 장점과 단점이 마구 뒤범벅이 되어있는 이 호스트업체에 관심이 있다면, 또는 이미 신청을 해서 쓰고있는데 느린속도때문에 실망했다면 한번쯤 읽어볼만한 글이 될지도 모르겠다.

개인적으로 3주정도 사용을 해봤는데, 마음고생을 상당히 많이했다.
현재 이 DreamHost 를 money-back 을 받느냐 마느냐로 고민도 했었고, 결과적으로는 안하기로 했지만, 이 호스트업체는 문제가 좀 있다. 문제점을 나열하기는 하겠지만 개인적인 결론은 상당히 쓸만하다라고 생각한다.

우선 features 를 알아보자

  • 200 Giga 용량
  • 2 Tera 트래픽
  • 무제한 email / mysql
  • 75 User ID with FTP/SSH shell
  • Subversion, CVS, Rails… 등등

나머지들도 상당히 많은데 직접 홈페이지에 가면 확인할수있다.
가장 파워풀한것은 SSH 상에서 쉘컴맨드를 거의 무제한으로 사용할수있다. 제약이 거의 없기 때문에 원한다면 얼마든지 나만의 프로그램셋을 꾸밀수있다. 아마 DreamHost 의 가장 큰 장점이 아닌가 한다.
200기가 용량과 2테라 트래픽은 아주 매력적이고, 무제한 email 과 무제한 mysql 용량도 매우 큰 장점이다. 용량과 트래픽은 1주단위로 계속 증가된다. (용량 1기가, 트래픽 16기가)
mysql 의 경우 용량보다 훨씬 큰 메리트가 하나 있는데 바로 클라이언트 원격접속을 지원한다. 한마디로 3306 포트를 열어두었단 얘기다. DreamHost 는 유저프로그램에서 쓸수있는 원격DB저장소로써도 매우 훌륭하게 작동된다. ODBC 드라이버 하나쯤 깔다두고 있으면 mssql 이나 oracle 로부터 원격백업을 할수도 있고, 유저프로그램에서 다이렉트로 활용할수있다.
Subversion, CVS 도 클라이언트 접속을 당연히 지원하고, 개발 또는 프로젝트관리용 리파지토리로써 훌륭하게 작동된다. 개발자를 위한 전용호스팅이라도 이정도를 지원하는곳은 많지 않다… (내가 알기론…몇군데 있는데 무지 비싸다)
OneClickInstall 기능도 대단히 훌륭하고, 서브도메인을 제한없이 만들수있다는것도 장점이다.
DreamHost 에 가입하면 Free Domain 을 1년동안 준다는데 나는 어떻게 신청하는지를 모른다…-_-;
나 같은 초짜가 왜 이글을 쓰는지 의아해 할지도 모르겠지만, 일단 난 잘 모른다….-_-;
그냥 서브도메인으로만 사용중이다… 아시는분은 코멘트로라도 좀 알려주시길… 🙂

이제 단점을 알아보자.
단점은 간단하다. 써보지 않아도 구글링 조금만 하면 주루룩 나온다.
느린속도둘쭉날쭉한 안정성인데 이게 매우 심각하게 받아들여지는 분들이 있을것이다. (개인적으로 나도 조금…) 하지만 3주동안 써보고 업무당담자와 이메일공방전을 수차례 해본결과 이 호스팅을 잘만 사용하면 꽤 쓸만해진다는 결론을 얻었다.

속도

  • ping 이 140 – 160 ms 정도 나올것이다. 이건 아무 문제가 없다. HTTP 를 이용한 사이트 운영에 거의 영향을 미치지 않는다. 국내 호스팅이 5ms 안쪽이기 떄문에 수십배차이가 난다고 생각할수도 있으나 이 속도는 웹기반 환경에서는 차이가 미미하다.
  • 워드프레스 같은걸로 사이트하나 만들고 접속해보면 아마 반응이 10초정도 걸릴것이다. 안그런분들도 있다. 수초만에 반응이 바로바로 오시는 분들도 계신데 그 상황에서는 잘쓰시면 된다…. 🙂
  • 느릴땐 페이지하나 뜨는데 수십초도 걸린다… -_-;

DreamHost 의 속도는 다음과 같은 제약사항을 받는다. (일단 php 서비스를 가정하자)

  1. User 별로 Memory Usage 에 제약이 가해져 있다. (50 Mega).
    뭔말인고 하니 하나의 유저가 사용할수있는 프로세스들의 메모리 사용량이 50메가로 제한되어있다. 이 수치를 넘어서면 DreamHost 는 친절하게도 해당 프로세스를 강제로 죽여버린다. http 응답을 받아서 php5.cgi 프로세스가 프로세싱할려고 하는 순간 DreamHost 가 프로세스를 죽여버리는것이다…. 반응이 오는 수십초동안 이짓을 계속한다. 결국 수십번의 killed 후에 처리성공을 하거나, “500 internal error” 같은 재수없는 에러를 보게된다.
  2. DreamHost 측의 FastCGI 옵션에 약간의 문제가 있다.
    FastCGI 의 경우 HTTP 요청이 성공해도 php5.cgi 는 죽지않는다. 대신 다음의 요청을 더 빨리 처리할수 있기 때문에 전반적으로 사이트가 더 빨라진다. 이건 FastCGI 의 작동원리니까 문제될건 없다. 근데 DreamHost 측의 설정은 도메인당 FastCGI 프로세스가 4개까지 생길수있게 설정이 되어있다. 어떤때는 더 많이도 생긴다. 아무런 요청이 없어도 기본적으로 php5.cgi 가 4개는 항상 떠있다. 게다가 하나의 유저가 여러개의 도메인을 운용하면 php5.cgi 프로세스는 도메인갯수*4 만큼 메모리에 적재된다. (결국 1번에 해당하는50메가를 넘는다)
  3. 쉘 서비스가 너무 훌륭하다.(?)
    쉘에서 아무런 제약없이 작업을 할수있기때문에 gcc 컴파일이나 기타 유사한 작업을 서버내의 다른사용자가 하고 있으면 전체적으로 CPU usage 가 많이 소모된다.
  4. 웹서버나 커널측의 사용자 프로세스는 제약이 없다.

3번은 우리힘으로 어쩔수 없는 것이니 1,2,4 번 제약사항을 최대로 이용하거나 문제를 피해야한다.
좀 복잡할수도 있으나 위 제약사항을 알게되면 사이트를 최대한 튜닝해서 국내호스트 부럽지않게 쓸수가 있다.

너무 길어서 다음편에 쓰겠습니다.. 이렇게 길어질줄은 몰랐네요….

[드림호스트 제대로 활용하기 – 2]

Advertisements

Written by soyul's papa

4월 8, 2007 , 시간: 5:45 오후

Computing에 게시됨

One Response

Subscribe to comments with RSS.

  1. […] 보일것 같았지만 유저메모리 50MB 제한으로 오버되면 프로세스를 죽인다는 어느블로그의 정보에 ㅎㄷㄷ 하면서 그냥 site5를 선택 하게 […]


답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: