Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 套接字库往返时间异常值_C++_Sockets_Kernel_Buffer_Flush - Fatal编程技术网

C++ 套接字库往返时间异常值

C++ 套接字库往返时间异常值,c++,sockets,kernel,buffer,flush,C++,Sockets,Kernel,Buffer,Flush,我编写了一个套接字库,我们看到从a到B再到a的往返时间是稳定的,但是我们经常会看到一个大纲,它是RT(往返)平均值的两到三倍。我的同事认为这是分页的问题,有没有办法证明这一点?如果我们每次都看到rt时间具有相同的峰值级别,这将是一件好事,但是我们看到峰值随着应用程序运行时间的延长而增大 还有其他人有什么想法吗 对于每个峰值,我注意到内核运行以下命令: 冲洗-253:0和kswap0 我还注意到vmstat显示bo与峰值rtt的相关性增加您在使用TCP吗?你说的“寻呼”是什么意思?你是如何测量往返

我编写了一个套接字库,我们看到从a到B再到a的往返时间是稳定的,但是我们经常会看到一个大纲,它是RT(往返)平均值的两到三倍。我的同事认为这是分页的问题,有没有办法证明这一点?如果我们每次都看到rt时间具有相同的峰值级别,这将是一件好事,但是我们看到峰值随着应用程序运行时间的延长而增大

还有其他人有什么想法吗

对于每个峰值,我注意到内核运行以下命令: 冲洗-253:0和kswap0


我还注意到vmstat显示bo与峰值rtt的相关性增加

您在使用TCP吗?你说的“寻呼”是什么意思?你是如何测量往返时间的?在应用程序级别?是TCP套接字。分页是内核交换内存。当从a接收到消息时,会在应用程序级别计算RT时间,a会对其进行解码并从消息中提取发送时间。最可能的情况是,异常值是由于需要两到三次往返(可能是使用糟糕的I/O策略到达库)。很难想象分页将如何影响TCP往返时间。您能详细说明一下吗?你说的“需要两到三次往返”是什么意思?是什么让你确定分页与TCP往返时间无关?我使用的是linux的最佳非阻塞i/o策略-epoll,我也这样做了,多个线程可以在同一个fd阵列上异步epoll。你使用TCP吗?你说的“寻呼”是什么意思?你是如何测量往返时间的?在应用程序级别?是TCP套接字。分页是内核交换内存。当从a接收到消息时,会在应用程序级别计算RT时间,a会对其进行解码并从消息中提取发送时间。最可能的情况是,异常值是由于需要两到三次往返(可能是使用糟糕的I/O策略到达库)。很难想象分页将如何影响TCP往返时间。您能详细说明一下吗?你说的“需要两到三次往返”是什么意思?是什么让你确信分页与TCP往返时间无关?我使用的是linux的最佳非阻塞i/o策略-epoll,我也这样做了,所以多个线程都可以在同一个fd阵列上异步epoll。