您的位置:首页 > 编程语言 > Go语言

pgoneproxy 增加tps的功能

2016-06-14 00:00 288 查看
摘要: 本文介绍pgoneproxy的tps功能,通过tps功能能够体现在一段时间内pgoneproxy处理的能力

原来pgoneproxy在处理任务时,无法体现在一段时间内处理任务的数量,故增加了tps的功能。pgoneproxy的tps分成了两部分,一部分是简单查询,另外一部分是事务查询。效果如下所示:



上图中simpleQ tps代表的是简单查询的性能。TrxQ tps代表的是事务查询的性能。从上图中可以看到172.30.12.8这个客户在进行简单查询,而192.168.7.183这个客户在进行事务操作。当然一个客户也可以在一段时间内既进行简单查询也进行事务操作,这时会在simpleQ tps和TrxQ tps这两列都显示出来。下面来说说这两个值的计算方式。

当同一个客户 (比如:172.30.12.8)连接到pgoneproxy时,如果tps还没有开始计时,则开始进行tps的开始计时。当有简单查询时,则在简单查询的计时器上面增加计数。当有事务查询时(以begin或者start translation作为开始的界限,commit或者rollback作为结束的界限)则在事务计数器上面计数。当完成查询时,则进行tps的结束计时。(及每个客户进行一次tps开始计时,n次tps结束计时)。当需要展示tps时,则通过计数器的值除以时间长度即可。

下面几种情况的tps计时和计数情况:

1. 同一个客户连接后执行一些操作后,断开再进行连接同时进行操作

tps的计时长度是客户第一次登陆时作为tps的开始时间,最后一次操作完成时做为tps的结束时间。计数是两次操作的总数。

2. 客户连接到pgoneproxy进行了一次查询,一直没有端开

tps的计时长度是客户登陆时作为tps的开始时间,查询完成的时间作为tps的结束时间。查询完成后的时间不记录到tps的时常中。

3. 客户连接到pgoneproxy进行了一些查询操作后,没有端开等待了很长时间后,又进行了一些查询操作。

tps的计时长度是客户连接到pgoneproxy时的时间为tps的开始时间,最后一个查询操作完成的时间作为tps的结束时间。其中没有断开等待的时间也记录到tps的时常中。

如果为了查看目前的tps情况,请先通过reset功能,把目前统计的数据清零,重新进行tps统计即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息