如果你已经读了HTTP篇和WebSocket篇,你应该可以猜到PostgreSQL的配置的不同点,没错,就是sessions的配置。
对于数据库访问来说,一个会话相当于发起连接 -> 身份验证 ->(发送SQL & 获取结果) * n -> 断开连接
这样一个过程。反映到XML配置上,就像下面这样:
<sessions>
<session name="pgsql-example" type="ts_pgsql" weight="1">
<transaction name="connection">
<request>
<pgsql type="connect" database="my_db" username="postgres" />
</request>
</transaction>
<request>
<pgsql type="authenticate" password="sesame"/>
</request>
<request>
<pgsql type="sql">SELECT "hello world";</pgsql>
</request>
<thinktime value="20"/>
<request>
<pgsql type="close"/>
</request>
</session>
</sessions>
这里要说明的是,有的时候SQL语句会很长,会换行,还会有特殊字符在里面。这时候,你可以使用CDATA来代替普通的文本。例如:
<request>
<pgsql type="sql">
<![CDATA[
select t1.foo, t2.bar
from table_1 as t1
inner join table_2 as t2
on t1.id = t2.t1_id
where t1.foo < 100
and t2.bar > 1000
]]>
</pgsql>
</request>
其他就没什么好说的啦(UP主懒癌晚期)。当然,Tsung作为一款多协议压力测试工具,它还能测很多东西,比如AMQP、LDAP等,它们的配置的不同点也仅在于sessions。你可以参考官方文档,这部分写的还是很详细的。更多高级用法我这里也懒得再搬砖了,一旦入了门,之后的问题应该都不是大问题,读读文档就能解决了。