我们最近使用 YCSB ( https://github.com/brianfrankcooper/YCSB/wiki ) 对 Oracle 10g 和 MongoDB 进行了基准测试,当我们尝试增加 1,000,000 个数据集的线程数时,Oracle 的性能在 4 个线程之后保持不变,但 MongoDB 继续执行越来越好,直到 8 个线程,之后只有读取更好,写入和更新(操作/秒)保持不变。
我们在 LAN 上的 2 CPU Xeon 四核(共 8 核)+ 8 GB RAM 上运行了这个基准测试。
我们观察到的是,与单线程客户端相比,MongoDB 在多线程客户端上的性能更好,我的问题是:当 MongoDB 可以在更多负载下表现更好时,为什么它不能在更少负载下做同样的事情(比如只有几个线程) 通过利用多个核心?