DreamHost (드림호스트) 제대로 활용하기
3월중순에 이상한 지름신이 강림하셔서 드림호스트를 넙죽 신청했었다.
다른것 보다 Trac 과 Subversion 을 마음대로 쓸수있고, 용량과 트래픽이 장난이 아니라는…. 하지만 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 서비스를 가정하자)
- User 별로 Memory Usage 에 제약이 가해져 있다. (50 Mega).
뭔말인고 하니 하나의 유저가 사용할수있는 프로세스들의 메모리 사용량이 50메가로 제한되어있다. 이 수치를 넘어서면 DreamHost 는 친절하게도 해당 프로세스를 강제로 죽여버린다. http 응답을 받아서 php5.cgi 프로세스가 프로세싱할려고 하는 순간 DreamHost 가 프로세스를 죽여버리는것이다…. 반응이 오는 수십초동안 이짓을 계속한다. 결국 수십번의 killed 후에 처리성공을 하거나, “500 internal error” 같은 재수없는 에러를 보게된다. - DreamHost 측의 FastCGI 옵션에 약간의 문제가 있다.
FastCGI 의 경우 HTTP 요청이 성공해도 php5.cgi 는 죽지않는다. 대신 다음의 요청을 더 빨리 처리할수 있기 때문에 전반적으로 사이트가 더 빨라진다. 이건 FastCGI 의 작동원리니까 문제될건 없다. 근데 DreamHost 측의 설정은 도메인당 FastCGI 프로세스가 4개까지 생길수있게 설정이 되어있다. 어떤때는 더 많이도 생긴다. 아무런 요청이 없어도 기본적으로 php5.cgi 가 4개는 항상 떠있다. 게다가 하나의 유저가 여러개의 도메인을 운용하면 php5.cgi 프로세스는 도메인갯수*4 만큼 메모리에 적재된다. (결국 1번에 해당하는50메가를 넘는다) - 쉘 서비스가 너무 훌륭하다.(?)
쉘에서 아무런 제약없이 작업을 할수있기때문에 gcc 컴파일이나 기타 유사한 작업을 서버내의 다른사용자가 하고 있으면 전체적으로 CPU usage 가 많이 소모된다. - 웹서버나 커널측의 사용자 프로세스는 제약이 없다.
3번은 우리힘으로 어쩔수 없는 것이니 1,2,4 번 제약사항을 최대로 이용하거나 문제를 피해야한다.
좀 복잡할수도 있으나 위 제약사항을 알게되면 사이트를 최대한 튜닝해서 국내호스트 부럽지않게 쓸수가 있다.
너무 길어서 다음편에 쓰겠습니다.. 이렇게 길어질줄은 몰랐네요….
[...] 보일것 같았지만 유저메모리 50MB 제한으로 오버되면 프로세스를 죽인다는 어느블로그의 정보에 ㅎㄷㄷ 하면서 그냥 site5를 선택 하게 [...]
외국 호스팅 site5.com 경험기 | Rollinmoss.com
March 8, 2009 at 9:20 pm