乐趣区

关于swoole:Swoole-455-对-Server-数据收发时间的优化

Commit: https://github.com/swoole/swoole-src/pull/3708/files

在之前的版本中,底层提供了 connect_timelast_time两项工夫信息,单位为秒,示意:

  • 连贯到服务器的工夫
  • 最初一次接收数据的工夫

在非常复杂理论的我的项目中,这两项信息是远远不能满足需要的,在最新的版本中咱们进行了优化。

工夫精度调整

底层的工夫全副改为应用 double 类型,准确到了微秒,包含:建设连贯与数据接管、投递、数据。

减少发送和投递工夫

Server::getClientInfo() 办法的返回值中减少了 3 个新的工夫字段,精度为微秒:

  • last_recv_time:最近一次接收数据的工夫
  • last_dispatch_time:最近一次投递数据的工夫,当触发 onReceive 回调时,读取此信息能够失去,以后的 $datamaster过程是什么工夫 dispatch 的,通过判断投递工夫和以后工夫的差值,能够失去工作在 管道 中期待的耗时
  • last_send_time:最近一次发送到内核 Socket 缓存区的工夫,通过此工夫能够判断出客户端是否能够失常接管数据包,是否存在接管延时

通过更准确的工夫数据,能够实现更细粒度的通信治理。

退出移动版