mysql和mongodb查询性能测试_mysql与mongodb性能测试java程序更新

对之前写的java测试程序进行了更新,增加了一些参数和查询的测试:

使用方法:

[root@web dist]# java -jar mongotest.jar

Usage:

mysql test:

java -jar mongotest.jar < mysql > < [select | update | insert] > < rows >  < host > < username > < password> 

mongo test:

java -jar mongotest.jar < mongo > < [select | update | insert] > < rows >  < host >

然后用这个程序测试了1亿条数据的更新和插入:

[root@web dist]# ./run.sh

java -jar mongotest.jar mongo insert 100000000 192.168.20.24 dbtest

Mongo Exception:can’t say something

Mongo error code:-2

Mongo Exception:can’t say something

Mongo error code:-2

Mongo Exception:can’t say something

Mongo error code:-2

Total run time:13670 sec

Total rows:100000000

mongo insert Result:7315row/sec

java -jar mongotest.jar mongo update 100000000 192.168.20.24 dbtest

Total run time:7927 sec

Total rows:100000000

mongo update Result:12615row/sec

java -jar mongotest.jar mongo select 100000000 192.168.20.24 dbtest

Exception in thread "main" java.util.NoSuchElementException

at java.util.LinkedList$ListItr.next(LinkedList.java:698)

at com.mongodb.DBCursor._next(DBCursor.java:335)

at com.mongodb.DBCursor.next(DBCursor.java:413)

at mongotest.mongodb.mongodb_select(mongodb.java:111)

at mongotest.Main.main(Main.java:65)

因为网络问题,有些没有insert成功,只成功了99992390条记录。mongo server上会报这种错误:

Thu Apr  8 19:24:19 insert dbtest.test 159ms

Thu Apr  8 19:24:22 MessagingPort recv() got 1 bytes wanted 4, lft=3

Thu Apr  8 19:24:24 insert dbtest.test 104ms

Thu Apr  8 19:24:30 MessagingPort recv() got 2 bytes wanted 4, lft=2

Thu Apr  8 19:24:36 insert dbtest.test 136ms

Thu Apr  8 19:24:41 insert dbtest.test 130ms

Thu Apr  8 19:24:42 insert dbtest.test 327ms

Thu Apr  8 19:24:43 insert dbtest.test 130ms

Thu Apr  8 19:24:43 insert dbtest.test 270ms

Thu Apr  8 19:24:45 insert dbtest.test 138ms

Thu Apr  8 19:24:51 insert dbtest.test 332ms

Thu Apr  8 19:24:51 insert dbtest.test 140ms

Thu Apr  8 19:24:52 insert dbtest.test 256ms

Thu Apr  8 19:24:52 insert dbtest.test 101ms

Thu Apr  8 19:24:52 insert dbtest.test 246ms

Thu Apr  8 19:24:52 insert dbtest.test 105ms

Thu Apr  8 19:24:52 insert dbtest.test 151ms

Thu Apr  8 19:24:53 insert dbtest.test 396ms

Thu Apr  8 19:24:53 OpCounters::gotOp unknown op: 38752749

op: 38752749

Thu Apr  8 19:24:53   Assertion failure 0 db/../util/message.h 119

0x4dcf16 0x4e5ab4 0x5de633 0x68d5b2 0x3bd4c0b20b 0x3301606617 0x3300ad3c2d

/usr/bin/mongod(_ZN5mongo12sayDbContextEPKc+0xe6) [0x4dcf16]

/usr/bin/mongod(_ZN5mongo8assertedEPKcS1_j+0x154) [0x4e5ab4]

/usr/bin/mongod(_ZN5mongo16assembleResponseERNS_7MessageERNS_10DbResponseERK11sockaddr_in+0x223) [0x5de633]

/usr/bin/mongod(_ZN5mongo10connThreadEv+0x232) [0x68d5b2]

/usr/lib64/libboost_thread-mt.so.4(thread_proxy+0x6b) [0x3bd4c0b20b]

/lib64/libpthread.so.0 [0x3301606617]

/lib64/libc.so.6(clone+0x6d) [0x3300ad3c2d]

Thu Apr  8 19:24:53   AssertionException in connThread, closing client connection

Thu Apr  8 19:24:53 connection accepted from 192.168.20.21:23516 #13

Thu Apr  8 19:24:58 allocating new datafile /var/lib/mongo/dbtest.32, filling with zeroes…

Thu Apr  8 19:25:24 done allocating datafile /var/lib/mongo/dbtest.32, size: 2047MB, took 25.824 secs

Thu Apr  8 19:25:24 insert dbtest.test 25888ms

mongodb的查询性能要差一些:

[root@web dist]# java -jar mongotest.jar mongo select 1000000 192.168.20.24 dbname5

Total run time:290 sec

Total rows:1000000

mongo select Result:3448row/sec

[root@web dist]# java -jar mongotest.jar mongo select 10000000 192.168.20.24 dbname5

Total run time:2952 sec

Total rows:10000000

mongo select Result:3387row/sec

后面准备把这个程序改成多线程的测一测mongodb的并发性能…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值