测试硬件环境 MacProcss
测试软件环境缓存
插入数据大小30字节bash
插入条数(单位:万) | 耗时(单位:毫秒) |
---|---|
1 | 999 |
2 | 2176 |
5 | 5140 |
10 | 10198 |
结论:在当前测试环境下每秒写入速度为1万性能
测试语句测试
db.follower.find({'user_id':1000069, 'follower_id': 1000089}).Limit(1)
读取条数(单位:万) | 耗时(单位:毫秒) |
---|---|
1 | 1227 |
2 | 2383 |
5 | 6024 |
10 | 12196 |
结论: 每秒读取速度 8000spa
测试语句code
mg.C("follower").Find(condition).Sort("-_id").Skip(10000).Limit(10).All()
按照每页10条计算ip
功能场景 | 耗时(单位:毫秒) |
---|---|
读取10000条以后的 10条数据 | 15 |
读取50000条以后的 10条数据 | 70 |
读取100000条以后的 10条数据 | 140 |
结论:
随着查询偏移量的上升(1w, 5w, 10w),查询耗时出现线性增加。尽可能避免使用 Skip 作为分页策略内存
插入数据大小30字节string
一次插入条数 | 耗时(单位:毫秒) | 速度 (单位: 毫秒/条) |
---|---|---|
5000 | 80 | 0.016 |
2000 | 32 | 0.016 |
1000 | 18 | 0.018 |
100 | 2.15 | 0.0215 |
结论:批次插入越多,单位时间越少