如何查看网络rpc延迟?及如何调整?

如何查看网络rpc延迟?及如何调整?

问题描述好像有点泛,不是很好理解,问题是网络延迟与RPC延迟?不知道理解的对不对,下面内容供参考。

一般网络延迟受多种因素影响,包括物理距离、网络带宽、路由路径、网络拥堵等。一般ping ,traceroute一些工具可以辅助分析。

如果是RPC延迟的,一般的RPC是指在远程过程调用中,从客户端发起调用到接收到服务端响应的整个过程所需的时间。RPC延迟不仅包括了网络延迟,该时延跟以下几方面有关系:

  • 序列化/反序列化时间:客户端将调用参数序列化成可以传输的格式,以及服务端将响应反序列化回原始格式的时间。
  • 服务处理时间:服务端处理请求并生成响应所需的时间,该时间有时候还跟业务有关。如它就需要消耗1小时处理;
  • 网络往返时间(RTT, Round-Trip Time):数据从客户端到服务端,再返回客户端的总时间。

至于怎么调整的问题,还得结合上述情况做排查具体问题具体分析。

可以试试 V$OB_SQL_AUDIT参数。SELECT SVR_IP, EVENT,RPC_COUNT,NET_TIME FROM v$sql_audit;

调整系统配置:根据实际情况调整系统配置,如 rpc_timeout以减少RPC请求时间。

监控和分析:监控网络状态和RPC延迟吧,工具如 tsar 和 obclient 查询相关指标,分析并解决延迟问题。
具体怎么调整看业务量等等来调整比较好。