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统计即可。
原来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统计即可。
相关文章推荐
- PostgreSQL新手入门教程
- PostgreSQL教程(十):性能提升技巧
- PostgreSQL教程(二):模式Schema详解
- PostgreSQL教程(十三):数据库管理详解
- 深入解读PostgreSQL中的序列及其相关函数的用法
- PostgreSQL教程(八):索引详解
- PostgreSQL教程(三):表的继承和分区表详解
- 简单介绍Ruby on Rails对PostgreSQL数组类型的支持
- PostgreSQL教程(十九):SQL语言函数
- PostgreSQL教程(四):数据类型详解
- PostgreSql新手必学入门命令小结
- 用一整天的时间安装postgreSQL NTFS权限
- FREEBSD安装POSTGRESQL笔记
- Mac OS上安装PostgreSQL的教程
- PostgreSQL8.3.3安装方法第1/2页
- 深入理解PostgreSQL的MVCC并发处理方式
- PostgreSQL教程(一):数据表详解
- PostgreSQL教程(十二):角色和权限管理介绍
- PostgreSQL教程(五):函数和操作符详解(1)