千家信息网

压测工具swingbench和sysbench有什么区别

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下压测工具swingbench和sysbench有什么区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!swingbench先来说说swingbench,这款工具是O
千家信息网最后更新 2026年11月02日压测工具swingbench和sysbench有什么区别

小编给大家分享一下压测工具swingbench和sysbench有什么区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

swingbench

先来说说swingbench,这款工具是Oracle英国的一个员工用Java开发的,没想到一下子成了压测Oracle的不二之选。当然Oracle还有不少这样的工具,比如DUL(Data UnLoader),是新西兰的一个员工用c开发,一个可以直接读取数据文件的工具,基本是ACS部门在提供高级服务所用。还有一款是SQLT也叫作SQLTXPLAIN,是Oracle Server Technologies Center of Expertise - ST CoE 提供的一款工具,可以通过MOS ID(ID 215187.1)下载,当然这样的工具还不少。

回到我们的话题,swingbench因为基于Java的原因,所以跨平台的支持还是很不错的。基本上我们是在Windows平台上测试服务端的数据库性能,用到了Java,那么使用JDBC是很自然的一件事情。

swingbench的设计风格是完全的组件化,每个组件可以单独抽出来使用,所以你如果到支持的站点去查看。宣传的组件图还是很霸气的。比如swingbench的主界面,数据生成器,追踪分析。

还有更炫的。监控数据库的多项指标,DB time等。这效果和商用的spotlight监控有一拼。

毫无疑问,swingbench是个好东西,一个工具箱继续发扬光大,得靠大家的使用和推广普及。有句话说得好,世上只有两种工具,一种是被人骂的,另一种是没人用的,被骂的越多,侧面反映出关注度越高,使用率越高,越用越成熟,这个MySQL就是一个很不错的例子。

swingbench支持的功能如此丰富,可以指定多个数据仓库,可以生成指定大小的数据,测试是基于订单业务,模拟的场景更加丰富,它有什么缺点吗?有的。

首先个人感觉最大的一点是它只支持Oracle,其实基于JDBC就是一个轻量级的接口,可以连接多种数据库。数据库工具松鼠就是这样,一个JDBC可以适配很多的数据库。如果在这一点上有所突破,我觉得还是有很大的潜力的。

还有基于这个工具的特性,支持Oracle平台,似乎离开源社区还有一定的距离,尽管这个工具确实是开源的,我查了下github上暂时还没有看到,目前的支持是通过站点来维护的,目前最新的版本是2.6,已经支持12c.

sysbench

这款工具和swingbench有一个共同点,那就是它也是Oracle的一个员工开发的,不过属于MySQL team,后来到了Percona.

一个公司竟然能够产出两种风格的软件,和本身支持的数据库是有明显的关系的,这句话可能比较绕。我逐渐展开来说,先说说我最近安装,使用sysbench的一些感受。

如果使用sysbench比较早一些的版本,应该就是0.4.12了。这个版本最早也是有一个单独的站点来维护的,目前已经全面转移到github上了。

这个工具基于c开发,目前支持的数据库种类很丰富。

# find . -name "drv*.c"
./drizzle/drv_drizzle.c
./pgsql/drv_pgsql.c
./mysql/drv_mysql.c
./oracle/drv_oracle.c
./attachsql/drv_attachsql.c其中MySQL,这是原生支持,默认就有的。还支持PostgreSQL和Oracle,还有一个MySQL的分支drizzle也是支持的。

0.4.12的版本很多年前就在用,优点很多,可以压测内存,CPU,IO,mutext等都可以测试,支持的数据库压测是其中的一个部分。这部分功能基于c的优势就很明显了。

但是0.4.12这个版本限制还是比较多,比如只能基于一个数据库的一个一个表来压测,这一点来说限制就很大了。所以能够测试的场景还是很有限的。

到了0.5的版本,这个情况改观了,可以一个库里多表了,而且可以设置interval参数来查看一个实时的变化了。因为它支持Oracle,所以我就很有兴趣的测试了一下,结果让我有点受挫。

为什么呢,0.5的版本中安装Oracle,主要就是一个动态链接库的配置要到位,但是配置好之后要开启测试的时候,发现数据库的驱动选择了oracle,但是测试却提示unknown database,带着疑问细看,原来测试的模板里竟然没有Oracle.这个怎么办自己动手丰衣足食,不过要写还确实有难度,为什么呢,因为模板是基于脚本语言Lua的,这又多了一道坎。

不过行业里也有不少朋友写了一些Lua的模板可以参考。

这里我诉诉苦,那就是sysbench最新版本是1.0.3,我想新版本支持Oracle应该已经做得很好了,看官方的提示,对于Oracle安装还单独提供了一个README-Oracle.md,但是里面的安装提示还是和我预期的有一些差别。

首先是安装的客户端,目前提供的是12c的精简版,这个没有问题,但是基于的操作系统是ubuntu 14,对于Oracle企业版来说是没有官方认证的,Linux版本Oracle官方可查到的,支持的系统基本是下面的这几个,版本会有一些变化。

Red Hat Enterprise Linux AS/ES
Oracle Enterprise Linux ( OEL)
SUSE Linux Enterprise Server
AsianuxUbuntu也是Linux,但是后面的安装就让我有了不少的难度,需要安装Cuda,而且是使用dpkg,这部分很陌生,查了下原来dpkg 是Debian package的简写,为"Debian" 操作系统专门开发的套件管理系统,用于软件的安装,更新和移除。
安装一套Cuda环境,我查了下,要花的功夫还真不少,最后辗转尝试,算是放弃了。

于是回到0.5的版本来,配置了动态链接库,很快就配置好了,但是没有Lua模板,这个时候可以参考osdba提供的一套定制版,可以支持MySQL,Oracle,PostgreSQL,我试了下,还不错。

整个过程如果使用git分分钟即可搞定。

抓取sysbench的安装部分

# git clone https://github.com/osdba/sysbench_bin.git然后抓取Lua脚本部分

# git clone https://github.com/osdba/sysbench_lua 然后创建一个sysbench目录,把抓取到的两个目录整合起来。

# mkdir sysbench
# cd sysbench
# cp ../sysbench_bin/bin/* .
# cp -r ../sysbench_lua/lua . 这样一来目录下就有了3个执行文件,和直接使用sysbench的命令方式基本一样,只是有所侧重。

-rwxr-xr-x 1 root root 3307216 Mar 24 16:09 sysbench_mysql
-rwxr-xr-x 1 root root 3324397 Mar 24 16:09 sysbench_ora
-rwxr-xr-x 1 root root 3253979 Mar 24 16:09 sysbench_pg


看完了这篇文章,相信你对"压测工具swingbench和sysbench有什么区别"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

支持 工具 数据 版本 数据库 测试 就是 还是 开发 模板 系统 配置 不错 员工 官方 目录 站点 组件 部分 提示 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 科技与互联网 科技互联网政务服务 互联网科技社 互联网络科技有限公司 碳银互联网科技 迪茉互联网科技 互联网科技公司名称 中正互联网科技招聘 深圳国际航运科技和互联网 福州新华互联网科技学校 知乎 互联网科技产业特征 广西互联网科技孵化中心 天津腾达互联网科技有限公司 迪庆互联网科技招生 朱啸虎曾投资哪些互联网科技企业 众安科技工业互联网合作 电子商务与互联网科技的关系 互联网科技企业商标注意事项 如何强化互联网金融科技 远信互联网科技 科技互联网公司logo 中国互联网金融科技基金 山东吉时兔互联网科技有限公司 新兴科技互联网创新大赛颁奖典礼 四川慕妮娅互联网科技有限公司 山东星卡互联网科技有限公司官网 富国互联网金融科技混合基金 互联网科技股为什么大涨 众联互联网络科技
0