MongoDB性能测试(Windows环境)
MongoDB性能测试(Windows环境)
一、测试环境#
Server硬件环境:
Client硬件环境:
MongoDB版本:mongodb 5.0.14
二、性能测试#
2-1 测试方式一#
测试json长度:251个字符
实验目的:往MongoDB中插入10000条json,统计花费的时间(即QPS)
条件:连接-->插入一条-->断开,三个过程算一轮插入
实验次序 | 插入数量 | 花费时间 | QPS |
---|---|---|---|
第一次 | 10000 | 23s | 235 |
第二次 | 10000 | 19s | 526 |
第三次 | 20000 | 123s | 162 |
第四次 | 20000 | 124s | 161 |
第五次 | 30000 | 187s | 160 |
第六次 | 50000 | 318s | 157 |
❓ Bug
测试Bug:几次测试过后,后面的测试基本每插入10000多条就会报错,报错提示如下:
初步猜测是由于内存释放不干净导致,释放函数没有返回值,无法确认是否释放成功。
/* free bson_t memory */
bson_destroy(doc);
/* free mongoc_collection_t */
mongoc_collection_destroy(collection);
/* free mongoc_client_t */
mongoc_client_destroy(client);
💡 解决方法:
在下一轮插入document前,无脑Sleep(10). 发现Bug不再出现,甚至插入30000+ document,都没有出现bug
2-2 测试方式二#
测试json长度:251个字符
实验目的:往MongoDB中插入10000条json,统计花费的时间(即QPS)
条件:连接-->插入10000条-->断开
实验次序 | 插入数量 | 花费时间 | QPS |
---|---|---|---|
第一次 | 10000 | 15.86s | 631 |
第二次 | 10000 | 14.02s | 713 |
第三次 | 30000 | 40.83s | 735 |
第四次 | 30000 | 43.88s | 684 |
第五次 | 30000 | 41.21s | 728 |
2-3 测试方式三#
测试json长度:535个字符
实验目的:json长度和通过ODBC 插入长度一致,用于对比两者的QPS
条件:连接-->插入10000条(或30000)-->断开
实验次序 | 插入数量 | 花费时间 | QPS |
---|---|---|---|
第一次 | 30000 | 44.38s | 676 |
第二次 | 30000 | 46.15s | 650 |
第三次 | 30000 | 46.89s | 640 |
作者:caojun97
出处:https://www.cnblogs.com/caojun97/p/16966524.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本