我有这个查询
db.tablebusiness.find({ "LongitudeLatitude" : { "$within" : { "$centerSphere" : [[106.772835, -6.186753], 0.0089967464101566] } }, "indexContents" : { "$all" : ["warung" ] }, "突出" : { "$gte" : 15 } }).limit(50);
问题:在 mongodb windows 中,这个查询运行速度很快,不到 1 秒,但在 ubuntu server amazon 中,这个查询没有运行。花了1分钟。
当然,亚马逊服务器内存不足(我的本地主机有 8GB 内存)等问题。但是性能上的差异是巨大的。
例如,在我的本地服务器中,我可以运行 1000000 个线程。亚马逊的东西只运行 1 或 2 个查询。
两者都有索引。实际上,亚马逊服务器是我的本地主机的精确副本。我只是将文件从本地主机上传到亚马逊。
它们都被索引。事实上,最近我在亚马逊上添加了额外的索引。
localhost 的索引是:
{LongitudeLatitude :"2d",indexContents :1,Prominent:-1}
亚马逊的指数是:
{LongitudeLatitude :"2d",indexContents :1,Prominent:-1}
我们还添加
{LongitudeLatitude :"2d",Prominent:-1} latter to no effect
有谁知道我的 ubuntu 服务器亚马逊有什么问题?
本地主机上的 dbserver 是
db.runCommand("buildInfo")
{
"version" : "2.0.7",
"gitVersion" : "875033920e8869d
"sysInfo" : "windows sys.getwin
platform=2, service_pack='Service Pack
"versionArray" : [
2,
0,
7,
0
],
"bits" : 64,
"debug" : false,
"maxBsonObjectSize" : 16777216,
"ok" : 1
ubuntu amazon 上的 dbserever 是
db.runCommand("buildInfo");
{
"version" : "2.0.7",
"gitVersion" : "875033920e8869d284f32119413543fa475227bf",
"sysInfo" : "Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_41",
"versionArray" : [
2,
0,
7,
0
],
"bits" : 64,
"debug" : false,
"maxBsonObjectSize" : 16777216,
"ok" : 1
}