通过脚本开启100个协程并发调用rpc服务10分钟,统计这段时间内,未使用thrift客户端连接池与使用客户端连接池服务的平均吞吐量、Thrift API调用平均延迟、机器端口消耗等数据进行性能对比。连接池的状态、当前连接数等这些属性,是多协程并发操作的,这里用同步锁lock来确保并发操作安全。Transport Thrift传输层,Thrift传输层,封装了底层连接建立、维护、关闭、数据读写等细节。为了能实现断开重连机制,我们只能在使用阶段发现异常连接时,重连连接。3 对照实验启用100个协程,不断调用Thrift服务端API 10分钟,对比服务平均吞吐量、Thrift API调用平均延迟、机器端口消耗。

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式

Golang 实现Thrift客户端连接池方式