Swoole 4.5.5 对 Server 数据收发时间的优化

码农天地 -
Swoole 4.5.5 对 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缓存区的时间,通过此时间可以判断出客户端是否可以正常接收数据包,是否存在接收延时

通过更精确的时间数据,可以实现更细粒度的通信管理。

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

swoolephp

扩展阅读

加个好友,技术交流

1628738909466805.jpg