현재 HostingRails.com에 VPS가 있는데 서비스에 다소 실망해서 대신 linode로 전환하는 것을 고려하고 있습니다. 세 개의 레일 애플리케이션(내 라이브 애플리케이션, 라이브 애플리케이션의 QA 버전, 그리고 하나)이 있습니다.레드마인) Apache의 Passenger에서 실행 중, phpbb 설치, 현재 내 VPS에서 실행 중인 하나의 mysql 데이터베이스가 현재 약 400MB의 RAM을 차지합니다.
720MB 노드를 구해 거기에 모든 것을 붙이는 것이 더 나은지, 아니면 두 개의 360MB 노드를 구해 하나에는 라이브 사이트를 두고 다른 하나에는 QA 사이트와 레드마인을 두는 것이 더 나은지 알아내려고 노력 중입니다. 각 노드마다 하나씩 두 개의 별도 데이터베이스를 제안하시겠습니까? 내 응용 프로그램을 분할하는 것이 좋은 생각이라는 제안이 있었지만 그것이 사실인지는 모르겠습니다. 노드가 하나 있고 라이브 애플리케이션에 더 많은 메모리가 필요한 경우 QA 설치 및 레드마인에서 완전히 사용되지 않을 360MB를 차지할 수 있다고 생각합니다.
또한 저는 미리 계획 비용을 지불하고 SVN을 VPS로 옮기는 대신 그곳에 남겨두었기 때문에 현재 SVN(활성 프로젝트 1개, 비활성 프로젝트 2개, 사용자 2명)을 Dreamhost에서 호스팅하고 있습니다. SVN을 linode로 옮기면 답변에 영향이 있습니까?
답변1
두 개의 노드를 사용하면 동일한 양의 메모리를 얻을 수 있지만 CPU 시간과 IO 토큰도 두 배 더 많이 얻을 수 있습니다.
SVN은 성능을 크게 저하시키지 않고 Passenger와 동일한 Apache 인스턴스에서 실행될 수 있습니다.
또한 하나의 데이터베이스 노드와 하나의 웹 서버 노드 등 다른 설정을 고려할 수도 있습니다. 둘 다 활용도가 낮을 수 없으며(결국 Apache는 상당히 무거움) 동일한 데이터 센터에 있는 경우 두 공용 IP를 모두 웹 서버 노드(Linode에서 허용)로 지정하고 Linode를 통해 데이터베이스 노드와 통신하도록 할 수 있습니다. LAN(전송 할당량 방지).
답변2
몇 가지 Rails 기반 비즈니스에 관리형 호스팅을 제공한 경험을 통해 DB와 앱을 분리하는 것이 항상 성공적인 것으로 입증되었습니다(fahadsadah가 지적한 대로).
그러나 나는 Apache를 실행하지 않을 것입니다그리고특히 제한된 리소스 vps 환경에서 동일한 시스템의 nginx. 이전에 말했듯이 Apache 자체는 꽤 무겁지만 모든 승객, svn, php 요구 사항을 처리할 수 있습니다. 그래서 나는 믹스에 nginx를 추가하지 않을 것입니다. 결국 이는 유지 관리(구성, 업데이트/패치 등)가 필요한 또 하나의 소프트웨어입니다.
또한 개인적으로 선호하는 편은~ 아니다내 앱이 실행되는 것과 동일한 설정 내에서 내 소스 코드를 호스팅합니다. 나는 우리 코드의 견고성과 보안에 대해 꽤 확신합니다. 그러나 누군가가 앱과 서버를 통해 방법을 찾는다면 그는 우리 소스에도 전체 액세스 권한을 갖게 될 것입니다. 그리고 귀하의 데이터그리고당신의 코드 개정은 아마도 크래커가 손에 넣기를 바라는 마지막 일일 것입니다...
뻔뻔한 플러그라는 건 알지만 우리 회사는 브랜드로 Redmine 및 SVN 호스팅 번들을 제공합니다.플라니오. Planio와 같은 다른 서비스도 있으므로 선택할 수 있습니다. 저의 주요 조언은 지원 시스템의 호스팅을 신뢰할 수 있는 외부 당사자에게 위임하고 호스팅 노력을 핵심 사항(예: 앱)에 집중하라는 것입니다.