Git演示平台上的iBoxDB NoSQL与MySQL的性能测试

2022-04-13 00:00:00 专区 代码 测试 配置 内容

每隔一段时间就会出现一篇关于数据库性能描述得天花乱坠的文章,经常出现100W QPS这样的大数字,去掉几千字的文字讲解后,核心内容是一台配置的服务器和为测试专做的配置,对于大部分系统根本不会去购买哪台不知哪里才有卖的服务器,大部分开发人员也不会去折腾哪一堆配置,并且改了默认配置往往引入新问题。怎样的数据库测试才是真实,反映系统实际运行能力?GIT@OSC的演示平台可以作为一个参考,这里写了两段代码,测试并发10个连接,每个连接读10,000个数据在iBoxDB与MySQL上所需要的时间,时间越短,性能越好。

先看MySQL的测试代码 

public Integer call() throws Exception {
ResultSet rs = c.createStatement()
executeQuery("select `id`, `value`, `msg` from test");
int l = ;
while (rs.next()) {
if (rs.getString(3).startsWith(
Integer.toString(rs.getInt(1)))){
l += rs.getInt(2);
}
}
return l;
}

这段代码的内容是从test表中读出 id,value,msg, 首先对msg内容进行合法检测,内容符合的把vlaue加到校验码l中。msg的内容创建时是 "id.toString()+一段文字"。

再看iBoxDB的测试代码,因为是NoSQL,代码更易读

public Long call() throws Exception {
long l = ;
for (Map<String, Object> map : c.select("from test")) {
if (map.get("msg").toString().startsWith(
map.get("id").toString())) {
l += (Long) map.get("value");
}
}
return l;
}

启动GIT@OSC的演示平台后,点击几次测试后, MySQL都在100ms以上,而 iBoxDB 大部分在50ms附近,花费时间越小,性能越好。

 

iBoxDB NoSQL数据库下载地址

 

相关文章