欢迎参与讨论一个问题

victor_cui 2004-09-07 10:57:41
有如下问题:
我在linux下做了一个网络测试程序,程序在1G网络上运行,当数据报较大时基本可以占满带宽(900Mbps)工作,当数据包<8时,网络性能急剧下降(50Mbps),观察程序运行所占用的内核时间约为运行时间的1/4,于是启动4个客户端进程,网络利用率达到了峰值,大约是带宽的10%,即100Mbps.
请问这个测试中的瓶颈主要分布在什么地方,为什么4个进程可以是小包状态达到最好的效能,如何提高一个进程情况下的程序性能(不使用多线程技术)
...全文
121 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanedanny 2004-09-27
  • 打赏
  • 举报
回复
可能受限于cpu处理ip包数量的能力吧!
victor_cui 2004-09-27
  • 打赏
  • 举报
回复
高手请进
winux0 2004-09-17
  • 打赏
  • 举报
回复
IP包重组
victor_cui 2004-09-17
  • 打赏
  • 举报
回复
????
smaxll 2004-09-07
  • 打赏
  • 举报
回复
我猜想瓶颈在于该进程获得的CPU时间,即内核中进程调度策略。
普通单进程所获得的CPU时间能处理的数据包数量差别不大
当数据包大的时候,
做个粗略的计算:
带宽 = 进程数 * 数据包数量 * 数据包大小;
因此数据包变小的时候,要达到同样的带宽利用率,
必然要增加进程数,或者增加同时能处理的数据包数量。

不知道增加进程优先级能不能提高单进程的网络处理性能。
victor_cui 2004-09-07
  • 打赏
  • 举报
回复
一组百兆网上的测试数据:
From To Delay BSize Speed(Mbps/Kpps)
172.16.239.171 172.16.239.194 FALSE 4096 90.50/ 2.83
172.16.239.171 172.16.239.194 FALSE 2048 89.89/ 5.62
172.16.239.171 172.16.239.194 FALSE 1024 89.69/ 11.21
172.16.239.171 172.16.239.194 FALSE 512 89.99/ 22.50
172.16.239.171 172.16.239.194 FALSE 256 89.69/ 44.84
172.16.239.171 172.16.239.194 FALSE 128 89.99/ 89.99
172.16.239.171 172.16.239.194 FALSE 64 89.89/ 179.78
172.16.239.171 172.16.239.194 FALSE 32 89.99/ 359.96
172.16.239.171 172.16.239.194 FALSE 16 82.73/ 661.84
172.16.239.171 172.16.239.194 FALSE 8 42.04/ 672.62
victor_cui 2004-09-07
  • 打赏
  • 举报
回复
一组千兆网上测试的数据:
From To Delay BSize Speed(Mbps/Kpps) RTimes(ms) UTime(ms) KTime(ms)
172.16.239.171 172.16.239.194 FALSE 4096 739.37/ 23.11 1082 0 10
172.16.239.171 172.16.239.194 FALSE 2048 733.94/ 45.87 1090 0 10
172.16.239.171 172.16.239.194 FALSE 1024 727.27/ 90.91 1100 0 70
172.16.239.171 172.16.239.194 FALSE 512 728.60/ 182.15 1098 0 90
172.16.239.171 172.16.239.194 FALSE 256 738.69/ 369.34 1083 0 100
172.16.239.171 172.16.239.194 FALSE 128 515.13/ 515.13 1553 0 280
172.16.239.171 172.16.239.194 FALSE 64 291.23/ 582.45 2747 0 570
172.16.239.171 172.16.239.194 FALSE 32 156.71/ 626.84 5105 0 1190
172.16.239.171 172.16.239.194 FALSE 16 82.37/ 658.98 9712 0 2640
172.16.239.171 172.16.239.194 FALSE 10 51.44/ 658.44 15552 0 3730
172.16.239.171 172.16.239.194 FALSE 8 41.55/ 664.76 19255 0 4900
172.16.239.171 172.16.239.194 FALSE 4 21.12/ 675.71 37886 0 9790
172.16.239.171 172.16.239.194 FALSE 2 10.49/ 671.09 76294 0 18970
pressman 2004-09-07
  • 打赏
  • 举报
回复
新手,oooO
( )
mark
victor_cui 2004-09-07
  • 打赏
  • 举报
回复
我提高进程静态优先级到最高级别,没有明显的改善

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧