单算子benchmark测试工具pgbench, SQL-bench, mydbtest
来源:互联网 发布:js 点击显示modal 编辑:程序博客网 时间:2024/06/05 18:55
TPC:Transaction processing Performance Council 事务处理性能委员会
TPC-B: measures throughput in terms of how many transactions per second a system can perform 测试一秒可以处理的事务个数
pgbench: 使用C语言编写
pgbench是基于tpc-b模型的postgresql测试工具。它属于开源软件,主要为数据管理人员提供性能测试使用。
pgbench 是对 PostgreSQL 进行压力测试的一款简单程序, SQL 命令可以在一个连接中顺序地执行,通常会开多个数据库 Session, 并且在测试最后形成测试报告,得出每秒平均事务数,pgbench可以测试 select,update,insert,delete 命令,用户可以编写自己的脚本进行测试。
http://blog.csdn.net/enzesheng/article/details/42720691
https://my.oschina.net/Kenyon/blog/66198
http://blog.csdn.net/sunziyue/article/details/50997867
http://francs3.blog.163.com/blog/static/405767272011720103758178/
Schema | Name | Type | Owner | Size | Description ----------+------------------+-------+--------+------- +------------- public | pgbench_accounts | table | luwang | 13 MB | public | pgbench_branches | table | luwang | 40 kB | public | pgbench_history | table | luwang | 0 bytes| public | pgbench_tellers | table | luwang | 40 kB | Schema | Name | Type | Owner | Table | Size | Description ----------+-----------------------+-------+--------+------------------+---------+------------- public | pgbench_accounts_pkey | index | luwang | pgbench_accounts | 2208 kB | public | pgbench_branches_pkey | index | luwang | pgbench_branches | 16 kB | public | pgbench_tellers_pkey | index | luwang | pgbench_tellers | 16 kB |
安装:
在postgresql安装源包中,进入源码的contrib/pgbench目录,通过make all;make install单独安装。
先创建一个数据库,名字为:pgbench
createdb pgbench
生成10万数据的测试库:
pgbench -i -s 1 pgbench
按照默认的比例因子1,这些表按如下行数初始化:
表名 行数
---------------------------------
pgbench_branches 1
pgbench_tellers 10
pgbench_accounts 100000
pgbench_history 0
可以通过指定-s(比例因子)参数来增加初始化时各表的行数。-F(填充因子)参数此时也可以同时使用。
测试命令:
pgbench -c 10 -t 100 pgbench
-c clients 模拟的客户数,也就是并发数据库会话数目。缺省是 1。
-t transactions 每个客户端跑的事务数目。缺省是 10。
pgbehch的使用帮助:
pgbehch --help
最重要的选项是-c(客户端数量),-t(事务数量),-T(时间限制)和-f(定制脚本)
默认的事务脚本在每个事务中执行如下七条语句:
\setnbranches :scale \set ntellers 10 * :scale \set naccounts 100000 * :scale \setrandom aid 1 :naccounts \setrandom bid 1 :nbranches \setrandom tid 1 :ntellers \setrandom delta -5000 5000 BEGIN; UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid =:aid; SELECT abalance FROM pgbench_accounts WHERE aid = :aid; UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid =:tid; UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid =:bid; INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid,:aid, :delta, CURRENT_TIMESTAMP); END;
如果你指定了-N,第4步和第5步不会执行。如果指定了-S,则只有select语句会执行。
pgbench-tools:对pgbench进行了完善,虽然他也是调用pgbench。
https://yq.aliyun.com/articles/197
pg_nosql_benchmark: EnterpriseDB出品的测试方案,支持MongoDB 2.6 (BSON) and Postgres 9.4 (JSONB)
https://github.com/EnterpriseDB/pg_nosql_benchmark
SQL-Bench: 用例使用perl语言编写。支持MySQL, PostgreSQL, mSQL, Solid。包含Crash-me命令和Access, Adabas,ATIS, Wisconsin test。
https://dev.mysql.com/doc/internals/en/sql-bench-directory.html
http://www.perlmonks.org/?node_id=130699
http://blog.chinaunix.net/uid-16909016-id-120157.html
/u01/mysql/sql-bench/run-all-tests –server=mysql –user=root –password=123456 –log –fast
/u01/mysql/sql-bench/test-select –server=mysql –user=root –password=123456
执行mysql测试sql-bench/test-select,报错Can't locate DBI.pm in @INC
perl -MCPAN -e 'install DBI'
perl -MCPAN -e 'install DBD::mysql'
perl -MCPAN -e 'install DBD::Pg'
# yum -y install perl-DBI perl-DBD-MySQL
解决方法是 安装一个DBD-MYSQL包即可,下载地址为:http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-2.9005.tar.gz
安装方法:
# wget http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-2.9005.tar.gz
# tar zxvf DBD-mysql-2.9005.tar.gz
# cd DBD-mysql-2.9005
# perl Makefile.PL --testdb=test --testuser=root --testpassword=”123456″
# make; make test; make install
super smack: 是一个强大的广受赞誉的压力测试工具,支持MySQL和PostgreSQL数据库。下载地址为:
http://vegan.net/tony/supersmack/super-smack-1.3.tar.gz
mydbtest:是一款轻量级的mysql数据库压测工具,由OneProxy创始人楼方鑫编写,mydbtest相较于sysbench压测工具,功能单一,但是安装部署操作简单,只需要简单的配置,就可以进行压测。
http://blog.csdn.net/d6619309/article/details/67639646
http://blog.itpub.net/22664653/viewspace-2073341/
- 单算子benchmark测试工具pgbench, SQL-bench, mydbtest
- MySQL 测试 sql-bench 出错
- redis 测试工具benchmark
- 开源性能测试工具- Apache Bench
- Apache性能测试工具Apache Bench
- 开源性能测试工具- Apache Bench
- PostgreSQL数据库压力测试工具pgbench简单应用
- PostgreSQL数据库压力测试工具pgbench简单应用
- PostgreSQL每日一贴-测试工具之pgbench
- PostgreSQL数据库压力测试工具pgbench简单应用
- PostgreSQL数据库压力测试工具pgbench简单应用
- 数据库TPCE benchmark测试工具
- pgbench 测试 pgxc
- 1 网站压力测试工具 WEB性能测试 Web Bench
- 6.Benchmark SQL 数据库测试工具代码——执行SQL类
- 视频流并发测试工具srs-bench使用问题汇总
- 1.Benchmark SQL 数据库测试工具使用——安装使用
- 2.Benchmark SQL 数据库测试工具代码——关于表类
- DHCP
- margin重叠现象
- 深度长文:我对CQRS/EventSourcing架构的思考
- maven中的dependencies和dependencyManagement的区别
- Gradle 4.1 版本 百度云网盘地址(永久有效)
- 单算子benchmark测试工具pgbench, SQL-bench, mydbtest
- 2017.11.3诈尸
- AndroidTest Espresso初步体验
- DNN论文分享
- 数据结构--二叉树(C++)
- redis安装
- Python zip函数
- javascript中变量相关的若干问题
- Java之线程Runnable