文档章节

pgoneproxy 增加tps的功能

harris2016
 harris2016
发布于 2016/06/14 17:46
字数 693
阅读 86
收藏 0

  原来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统计即可。

 

© 著作权归作者所有

共有 人打赏支持
harris2016
粉丝 10
博文 52
码字总数 30058
作品 0
杭州
程序员
postgresql 数据库 中间件 pgoneproxy

一直在开发postgresql的中间件pgoneproxy,最近增加了pgoneproxy中间件监控功能的界面。通过我们的监控界面可以看到当前连接执行了哪些sql语句,操作了哪些表,事务语句,并且pgoneproxy所在主...

harris2016
2016/06/03
683
7
pgoneproxy在linux 2.6.32-279 与 2.6.32-573版本上面运行的差异

在Linux内核版本2.6.32-279上面运行pgoneproxy时,当有200个客户端的并发时,会出现mutexspinon_owner函数占比很高的情况。而在2.6.32-573内核版本上面却看不到此函数的出现。说明这两个版本...

harris2016
2016/06/27
92
0
pgoneproxy的VIP机制

在向外提供服务时,通常会使用虚拟IP(VIP),增加服务的可靠性。在pgoneproxy中同样提供了vip功能,使用pgoneproxy后就可以省略其他提供VIP的软件(比如keepalive)。 1. vip 的使用 在pgo...

harris2016
2016/07/15
11
0
pgoneproxy 主机监控信息的解释

pgoneproxy提供了监控主机性能的功能,本文主要介绍下展示出来的信息的含义以及来源,方便了解pgoneproxy的原理。 下面是pgoneproxy展示的主机信息的界面: 在含义主机信息显示的界面,在加载...

harris2016
2016/06/03
69
0
liquibase 通过pgoneproxy来管理数据库版本

最近有客户反应liquibase通过pgoneproxy来管理数据库版本时,发现不能建立数据库表。这让我有点难理解,于是我直接下载了一个liquibase来测试,发现是pgoneproxy的权限管理的问题。现在说说测...

harris2016
2016/06/20
99
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的索引类型(Index types)

转发 TypeScript基础入门之高级类型的索引类型(Index types) 高级类型 索引类型(Index types) 使用索引类型,编译器就能够检查使用了动态属性名的代码。 例如,一个常见的JavaScript模式是从...

durban
30分钟前
0
0
利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

Linux就该这么学
今天
1
0
图像显示深入学习一:Activity启动过程

一个月左右写了图像显示深入学习之文章开篇文章表明了自己近期的计划,前半年重新学习了opengl es,c++以及Linux的一些知识,觉得是时候开始看图像这一块的源码了,边看边补缺补漏吧。 作为该...

JerryLin123
今天
3
0
给MySQL授权远程访问

putty登录服务器; 登录MySQL: mysql -u root -p 新建远程用户: CREATE USER 'myusername' IDENTIFIED BY 'mypassword'; 授权: grant all on *.* to john@'101.102.103.104' identified by......

sweethome
今天
3
0
在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
104
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部