说起linux的网络性能的优化,对于我自身来说,比较惭愧,并没有什么深入的linux算法,之类的东西,而就根据实际项目中的一点心得,在这里说说而已,自身很是佩服那些真正的大牛,希望有一天自己也能够成为他们中的一员^^.
这里先谈谈方法的问题,对于linux下性能的优化,性能的瓶颈有很多种,更多的是网络性能,网络性能又分为tcp层,比如说tcp连接数,并发数等;ip层 转发性能,很多时候队列满或者中断处理不当,丢包等;桥接下的性能. 而对于测试性能的方法,第一标准的仪器:比如测试tcp连接的流量的 avlance ,测试ip 或者桥接网络吞吐量的smartbits . 当然有好的工具调试起来就方便多了. 有了硬件,那么就是我们内核,软件的工作了. 当然不论我们优化任何性能首先要明确瓶颈在哪里,具体在那点代码,这样我们才能更好的处理,在实际项目的,我们会花大部分的时间来定位瓶颈到底卡到哪里了.定位当然少不了调试.
对于调试手段,当然有基本linux内核调试手段,printk、或者找sdk,更多的是需要熟悉网络收发包流程,一般瓶颈的地方,netfilter等,或者这里不说具体的实例,来的不真切.
我所遇到就是wan-lan之间的转发瓶颈,所以需要熟悉wan-lan之间的数据包收发流程.在linux中应该一般在服务器领域,linux会体现出它的最大优势,而在嵌入式领域,都需要公司内部研发人员的优化.netfilter会是瓶颈的最大限制,要么是路由的地方,或者中断处理,一些算法,内存管理.
阅读(718) | 评论(0) | 转发(0) |