2006年5月22日星期一

linux network performance monitor(发表时间:2005-12-30)

最近在想办法测试tcp协议栈性能,对一个tcp连接,能实时的获得它的吞吐率(吞吐率只是最基本的要求,还有更多的性能参数),而且不需要改变应用程序,并且开销较小。
一开始用iptables在应用层做,写了个demo。但是这种办法对性能上会有一定影响,而且iptables好像也无法区分重传的tcp包,而这些包是不能算进吞吐率的,这样就会导致结果不准确。
最终的想法是直接修改tcp协议栈,看起来net/ipv4/tcp_input.c:tcp_data_queue是tcp协议栈把有效的数据交给userspace的地方。这样我至少可以在接收方得到接收速率的采样。

没有评论: