我们有一个在amazon ec2 large(7.5GB)ubuntu实例上运行的mongodb实例(与我们的node.js服务器运行的机器相同)。 最近stream量增加了很多,我们开始看到MongoDB的一些不稳定的行为。 目前状态: 我们注意到一些使用探查器的慢速查询: query mydb.user 1327ms Wed Aug 01 2012 14:01:39 query:{ "_id" : ObjectId("500f45486562e7053d070363") } idhack responseLength:178 client:127.0.0.1 user: 用户表中的条目很小,但表中约有5000万个条目。 这种情况每隔一两分钟就会发生一次,接下来是一系列缓慢的查询。 当我们使用explain()从命令行执行缓慢的查询时,没有什么不好的报告。 mongostat告诉我: insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn set repl time 138 804 9 0 […]
在我的生产栈中,我有一个前端服务器和一个Mongo服务器。 我希望能够在前端服务器上设置一个cron作业来每天创build一些日志。 我写了一个脚本来做到这一点: ./mongo server:27017/dbname –quiet my_commands.js 如果我从上面的Mongo服务器运行它,它工作正常。 但是,我希望能够从前端服务器运行它。 当我尝试这样做时,我得到: -bash: mongo: command not found 由于mongo没有安装在前端服务器上,它给了我这个错误。 是否有可能以某种方式将Mongo绑定到Mongo服务器上的mongo上?
我是新来的mongodb,我把它安装在xen para virtual vm上,并且在给定命令的时候 “ mongo ”terminal冻结,并在最高的输出命令mongo是几乎100%的CPU。 这是一个错误,还是mongo命令使调度程序考虑进程交互,并导致更多的CPU使用? 运行Mongo 2.0.4,Ubuntu 12.04,3.2.0-23-通用虚拟机
我使用以下说明在VMware内部的Ubuntu Server VM中安装了MongoDB: http : //docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 。 一切工作正常,我可以在普通端口27017访问MongoDB ./mongo 172.16.150.131:27017 现在,我想做一个虚拟副本集和另一个数据库实例来testing我的应用程序。 我习惯在本地计算机上的四个独立terminal中执行以下命令: ./mongod –port 27027 –dbpath ~/mongodb/solo ./mongod –port 27028 –dbpath ~/mongodb/rs0-0 –replSet rs0 ./mongod –port 27029 –dbpath ~/mongodb/rs0-1 –replSet rs0 ./mongod –port 27030 –dbpath ~/mongodb/rs0-2 –replSet rs0 我怎样才能在虚拟机中做到这一点? 我SSH进入我的虚拟机,运行命令和closures我的terminal(在OS X)后,他们仍然应该运行。 我试过了: service mongodb –port 27027 –dbpath ~/mongodb/solo service mongodb ~/mongodb/solo/mongodb.conf 但是两者都得到以下错误(使用不同的上下文): Rather than invoking […]
我正在将运行Apache的Fedora服务器从prefork切换到worker。 除了Mongo和Memcache的php库以外,一切似乎都很好。 有没有人有任何成功让这些工作与httpd工人mpm? 请注意,我安装了memcache和mongo,像这样: yum install php-pecl-memcache php-pecl-mongo 一时兴起,我试着将/usr/lib64/php/modules/下的.so文件复制到/usr/lib64/php-zts/modules/ ,但是我得到了这些错误: PHP警告:PHP启动:无法加载dynamic库'/usr/lib64/php-zts/modules/memcache.so' – /usr/lib64/php-zts/modules/memcache.so:undefined symbol:basic_globals in Unknown第0行PHP警告:PHP启动:无法加载dynamic库'/usr/lib64/php-zts/modules/mongo.so' – /usr/lib64/php-zts/modules/mongo.so:undefined symbol:core_globals in未知在第0行
我正在玩Vagrant和Puppet,为基于Apache / PHP / Mongo的项目提供开发机器。 我已经正确地设置了所有的组件(使用Puppet Forge的模块),但是对于我来说,我无法弄清楚如何使PHP与Mongo交谈。 phpinfo()表明,Mongo驱动程序没有安装 – 这只是有道理的,因为我不知道如何去安装它。 我用来安装PHP的puppet模块是Lab42的一个,可在http://github.com/lermit/puppet-php上find 。 自述演示如何切换模块而不是驱动程序 (afaik,Mongo连接通过驱动程序而不是模块build立)。 任何帮助,提示,或实际完成这个.pp文件的链接将是最受欢迎的。 谢谢! 更新: 想出了这个神奇的线: php::pecl::module { "mongo": } 基本上通过PECL添加Mongo支持。 但是当木偶试图运行它,我得到这个: err: /Stage[main]/Project/Php::Pecl::Module[mongo]/Package[php-mongo]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=–force-confold install php5-mongo' returned 100: Reading package lists… Building dependency tree… Reading state information… E: Couldn't find […]
我有一个Amazon EC2服务器,我们运行一个webapp和MongoDB。 我们要添加第二个EC2服务器和负载平衡到同一个地区。 负载平衡将所有Web请求(80和443)redirect到EC2服务器。 有人可以给我一些关于如何设置MongoDB的一般build议吗? 谢谢
我们有一个在虚拟机上运行的mongod实例,它似乎没有使用所有可用的内存。 这是一个比平常更严重的页面错误,系统的性能已经显着降低。 更具体地说,如果我知道,我会看到: VIRT:3471G RES:11.8G 虚拟机有大约60GB的内存,目前,〜4.6GB是“使用”,其余的是在缓冲区或caching。 我的理解是, mongod mmap的数据库文件。 (这就是为什么VIRT是巨大的。)但是,我们不清楚RES为什么不接近60 GB:因为mongod需要closures磁盘的数据,这个数据应该被带入进程的RSS,不是? Mongo报告说这是页面错误,所以人们会认为RSS会随着时间而增长; 我们正在稳定。 这台机器上没有其他重要的东西在运行。 (这是数据库服务器。)什么是消耗其余的缓冲区和caching,特别是, 为什么mongod的RES大小不扩大,以填补可用的RAM?
我正在安装默认configuration的mongodb,并且正常启动,但是当我改变dbpath值指向不同的位置时,它开始给我例外,有人能帮助我,告诉我我在哪里做错误, 这是我正在改变的/etc/mongod.conf文件, 下面是我试图启动MongoDB时得到的输出 这是来自/var/log/mongo/mongod.log的我的mongodb日志 这里是我的/ ebs / mongo /和/ ebs / mongo / db权限 这里是服务开始mongod (其相当大:() strace -f服务mongod start> test.txt 我真的不知道这是怎么回事:(请摆脱一些光…提前致谢
我想将小文件(60 kb,几百万)存储到MongoDB中,我在想使用GridFS,但似乎BSON会做。 无论如何,我想使rsync备份mongodb块文件,所以问题是,如果我只做INSERT(不更新,不删除),光盘上的块将是相同的,只是最后的块将不同,是吗? 所以在这种情况下,rsync只会备份最后一个块,因为其他的都是一样的(当然当做这个操作时,mongodb会被正确closures)。 因此,可以说块的总大小是100GB,块大小是1GB,在最坏的情况下增量备份将只有1GB。