首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么提高某一应用程序每秒的网络吞吐量

2013-06-25 
如何提高某一应用程序每秒的网络吞吐量?写了一个应用程序来做服务器,经压力测试发现当需要广播很多消息此,

如何提高某一应用程序每秒的网络吞吐量?
写了一个应用程序来做服务器,经压力测试发现
当需要广播很多消息此,此程序的发送线程发送的消息经常会出现排队的现像

自己测了下,大约平均每秒能发出去31000字节

当需要广播的消息提高时,平均每秒发出的消息也还是31000字节,多出的消息都等在那里

请问如何提高每秒发送的消息量?
[解决办法]
不懂
建议lz看下高性能网络编程之类的文章
比如
http://www.inkcpp.com/?p=24
http://www.inkcpp.com/?p=26

改成ipv6也能增加吞吐量
[解决办法]
每秒31K,太少了吧,随便也一个tcp或udp的发送端也不只如此啊,如果确定不是网络阻塞的原因,代码肯定有大问题

先解决实现中的bug,然后再测一下,再考虑优化问题
[解决办法]
我们把网卡比作水池,出口流量一定(由设备本身决定的)。现在看看我们注水的速度了。也就是说,我们能提高的就是注水的速度了,提高注水的速度可以尽可能保证出口流量是满流量的,但是绝对不会超过出口流量的。所以,从逻辑上提速不是绝对的提速,除非使用高性能的网卡。
[解决办法]
我为啥一想就是想办法阻止别的进程联网……
[解决办法]
怀疑是线程本身存在问题
还有就是要确定建立连接的过程是不是存在不必要的动作, 比如你的广播和每条信息都是重新连接一次...这样会非常非常的低效
[解决办法]

引用:
写了一个应用程序来做服务器,经压力测试发现
当需要广播很多消息此,此程序的发送线程发送的消息经常会出现排队的现像

自己测了下,大约平均每秒能发出去31000字节

当需要广播的消息提高时,平均每秒发出的消息也还是31000字节,多出的消息都等在那里

请问如何提高每秒发送的消息量?


31K/s实在是太少了,首先确认程序没有问题(有问题的可能很大),检查路由器上传带宽是否受到限制,很多路由器可以分别设置上传及下载速度。将更多的带宽分配给上传
[解决办法]
是不是线程有竞争、等待、同步?还是线程数目太多了?很多时间都浪费在线程切换调度上

热点排行