我从 mongodb 得到了非常奇怪的行为。
我有一个分片会话跟踪集合,我只在 _id(=shard 键)上找到了 findOne。
在获取会话数据之前,我还使用 findOne(也在 _id 上)获取了站点数据(非分片集合),我将站点数据缓存在 memcached 中,这样跟踪 findOne 大约需要 0.04 秒才能获取。
但是,当我在站点数据上禁用 memcached 并强制它从 mongodb 获取数据时,跟踪 findOne 需要 0.001 秒,而站点 findOne 现在很慢。
先用 findOne 网站解释情况 2:http: //pastebin.com/qTX0az7H
先用 findOne 跟踪解释情况 1:http: //pastebin.com/bBSXUEKh
我正在使用 PHP 驱动程序 1.4.4 和 mongodb 版本 v2.4.6