当我只使用MongoDB并从MongoDB中检索1000次数据时,这个过程只完成了10秒。之后,我将Memcached和MongoDB结合在一起,通过这种方式,以前从Mongo检索到的所有数据都存储在Memcached中,我从Memcached获得数据,但是完成任务需要2分钟!
所以,任何人都有一个新的方法来提高性能,请告诉我。我的系统预计将有大约1000个请求/秒的服务。因此,我对此感到忧虑。
发布于 2013-12-30 06:06:49
MongoDB使用磁盘存储数据,而内存存储是内存中的数据库。理想情况下,Memcached比mongo快。我在500+ request /second上看到了这个。
当谈到缓存时,我没有任何可配置的东西。
在我的设置中,我使用Mongo,Memchaed和Redis DB的组合,我使用,
为了存储内容索引,这个索引告诉我我的数据存储在mongo、memchaed或磁盘中的位置。 MongoDB用于存储小于1MB的文件,大于1MB的文件存储在磁盘中。
* RedisDB还用于存储特定内容的命中计数,假设contecnt被请求3次,因此这个计数3与索引一起存储在RedisDB中。根据点击计数,我将内容从Mongo移动到Memcached。一旦数据从Mongo移动到Memcached,索引也会相应更新。
因此,Memcached用于频繁访问的内容。
我用了以下几种方法,
memcached -d -m 8192 -P /home/ -p /pid/.memcache.info -u root -l 127.0.0.1 -p 11211 -t 50 -n 1024
这种建筑对我来说效果很好。将数据索引存储在redis中也可以帮助您节省搜索数据的时间。
https://stackoverflow.com/questions/20833959
复制相似问题