pgbench内置脚本

转载 2012年03月22日 19:45:05

pgbench测试脚本如下

默认

static char *tpc_b = {
 "\\set nbranches :scale\n"
 "\\set ntellers 10 * :scale\n"
 "\\set naccounts 100000 * :scale\n"
 "\\setrandom aid 1 :naccounts\n"
 "\\setrandom bid 1 :nbranches\n"
 "\\setrandom tid 1 :ntellers\n"
 "\\setrandom delta -5000 5000\n"
 "BEGIN;\n"
 "UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;\n"
 "SELECT abalance FROM pgbench_accounts WHERE aid = :aid;\n"
 "UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;\n"
 "UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;\n"
 "INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);\n"
 "END;\n"
};

/* -N case */
static char *simple_update = {
 "\\set nbranches :scale\n"
 "\\set ntellers 10 * :scale\n"
 "\\set naccounts 100000 * :scale\n"
 "\\setrandom aid 1 :naccounts\n"
 "\\setrandom bid 1 :nbranches\n"
 "\\setrandom tid 1 :ntellers\n"
 "\\setrandom delta -5000 5000\n"
 "BEGIN;\n"
 "UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;\n"
 "SELECT abalance FROM pgbench_accounts WHERE aid = :aid;\n"
 "INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);\n"
 "END;\n"
};

/* -S case */
static char *select_only = {
 "\\set naccounts 100000 * :scale\n"
 "\\setrandom aid 1 :naccounts\n"
 "SELECT abalance FROM pgbench_accounts WHERE aid = :aid;\n"
};

这些在源码文件夹的pgbench.c中可以看到。我们也可以自己写脚本文件,然后在运行pgbench的时候加参数-f指定脚本。

由此可见,其实pgbench的测试脚本还是很简单的,也有许多局限性。以后我们还会介绍另一个工具——pgbench-tool。它在一定程度上对pgbench进行了完善,虽然他也是调用pgbench。

相关文章推荐

PostgreSQL每日一贴-测试工具之pgbench

说明:标红的是没有翻译的 TPC:Transactionprocessing Performance Council  事务处理性能委员会 TPC-B:TPC-Bmeasures throu...

x264源码,内置编译脚本

  • 2016年08月30日 21:09
  • 3.18MB
  • 下载

JSP脚本的9个内置对象(二)——config对象

本文摘自:李刚 著 《轻量级 Java EE企业应用实战 Struts2+Spring+hibernate整合开发》             config 对象代表当前JSP 配置信息,但JSP...

JSP脚本中的9个内置对象---06 request对象

request对象是获取请求参数的重要途径. 每个request对象封装着一次用户请求,所有的请求参数都被封装在requset对象中.request可代表本次请求范围,可用于操作request范围的...
  • sjbzl
  • sjbzl
  • 2017年01月03日 13:42
  • 241

JSP脚本中的9个内置对象---09 session对象

Session是javax.servlet.http.HttpSession的实例,代表一次会话. 会话
  • sjbzl
  • sjbzl
  • 2016年12月20日 20:33
  • 70

JSP脚本的9个内置对象(三)——exception对象

本文摘自:李刚 著 《轻量级 Java EE企业应用实战 Struts2+Spring+hibernate整合开发》             exception对象是Throwable实例,代表...

JSP脚本中的9个内置对象

一、JSP脚本中包含9个内置对象,这9个内置对象都是 Servlet API 接口的实例,只是JSP 规范对它们进行了默认初始化(由JSP页面对象Servlet的 _jspService() 方法来创...

JSP脚本中的九大内置对象详解(下)

接上篇,接下来详细介绍九大内置对象的使用及注意点 (一)application 它是ServletContext的实例,代表web应用本身 常用方法有 getAttribute(String attr...

AWK再次认识--内置的参数,以及编写脚本

原本这是篇给公司内同事写的培训文章,对于初学awk的人还蛮有帮助,贴到这里与大家共享一下。 〇、前言     意见反馈,请mailto:datouwang@gmail.com。   一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:pgbench内置脚本
举报原因:
原因补充:

(最多只允许输入30个字)