2010-08-23 1 views
27

MongoDB 문서를 읽었으며 32 비트 시스템에 대한 경고가 표시됩니다. 특히 Mongo를 위해 2GB의 사용 가능한 RAM이 장착되어 있습니다.Linode 512 VPS에서 MongoDB를 실행할 수 있습니까?

그래서 Linote의 512MB RAM 기반 VPS와 같은 낮은 메모리 설정에서 MongoDB를 실행하는 것과 관련하여이 문장이 의미가 있는지 궁금합니다. 필자는 나중에 리소스 추가를 위해 64 비트 배포판을 사용하는 것이 중요하다고 생각합니다.

MongoDB 용 VPS에서 경고 메시지가 나타나거나 누군가가 최소 RAM을 선택하도록 권장합니까? 나는 프로젝트 요구 사항이 이것에 대해 안다는 것을 알고 있지만, 나는 MongoDB를 돌리기조차하지 않고서 무엇을 할 수 있는지에 대해 최소한을 의미한다.

+2

와우는, 자신의 워드 프로세서 말 그리고 여기서 저는 "데이터"가 디스크 공간이라고 생각했습니다. 그것은 재앙 일 것입니다. 거의 버려진 몽고는 모두 바로 그곳에 있습니다. 나는이 질문을 보니 정말 기쁩니다. – Joe

답변

26

내 Linode 512 내에서 실행되는 일부 소규모 생산 사이트에서 거의 모든 메모리를 사용하며 약 5 - 6MB 만 사용합니다. 내 데이터 세트는 현재 매우 작습니다.

MongoDB는 매핑 된 메모리 스토리지 엔진을 사용합니다. 즉, 자주 사용되는 데이터를 메모리에 보관하기 위해 OS 시스템 캐시에 의존합니다.

http://www.mongodb.org/display/DOCS/Caching

그래서 당신은 밖으로 시작하는 거대한 데이터 집합을 가지고하지 않는 한 Linode (512)는 확인을해야합니다.

내가 조사 할 때 약간 걱정되는 것은 MongoDB가 많은 경고없이 메모리가 부족 해지면 충돌하는 것 같습니다. 얼마나 많은 데이터에 비례하여 사용할 메모리 또는 디스크 공간이 정확히 얼마인지 정확하게 파악하기도 어렵습니다. 하드 한도를 지정하는 방법도 없으며 성능이 저하됩니다. 아마 당신이 감시하고 싶어하는 어떤 것입니다.

--smallfiles --noprealloc 옵션을 사용하여 MongoDB를 실행 해보십시오. 작은 데이터베이스 파일이있는 경우 디스크 공간을 절약하면서 작은 데이터베이스 파일을 미리 할당하고 미리 할당 할 수 없으므로 MongoDB를 실행할 수 있습니다. 여기

한 사용자의 경험이다 : 그들은 충돌의 이유가 있다면

http://groups.google.com/group/mongodb-user/browse_thread/thread/223810a749f0e1eb

불행하게도 스레드가 해결되지 않은, 좋았을 것이다.

이도 읽고하는 것이 좋다 ". 32 비트 데이터 2GB의 주위에 제한됩니다 빌드"

http://groups.google.com/group/mongodb-user/browse_thread/thread/2646a52c4f41d832/d43f3ba7bbbbd63d

+0

좋아, 고마워 Klinky :) 나는 그 링크를 읽고 관련 용어에 대한 철저한 이해를 확실히 할 것입니다. – RayTFM

+1

충돌은 시스템 OOM 킬러가 원인 일 수 있습니다. http://www.mongodb.org/display/DOCS/The+Linux+Out+of+Memory+OOM+Killer – thoaionline

+0

스왑 파일을 만드는 것이 좋습니다. Linode는 SSD에서 실행되므로 그리 대단히 천천히. MongoDB를 완전히 추락시키는 것보다는 부하가 많은 상태에서 약간의 지체를 갖는 것이 더 좋습니다. 'vm.swappiness'을 조정하여 절대적으로 필요한 경우가 아니면 SSD를 누르지 않도록하십시오. –