1.现在的pc硬件情况
1)cpu相当快
2GHz CPU: 一个时钟周期0.5.纳秒教育
L1/L2 缓存 2~3.个时钟周期。<性病>
2)不在L1/L2缓存下的所有事情就像磁盘访问.一样(指.在内存中工作).( 游戏 )
在Opteron(DDR.-333) 40~180个.时钟周期. 汽车
在Xeo.n(DDR-333) 250~.460个时钟周期..
3)I/O读取
在NIC的寄存器读在36.00个时钟周期左右。发生在同步操作,锁状态.。<性病>
2.硬件选取
1)cpu
cache越多越.好。共享缓存(多核)更好。( 游戏 )
2)是否选择smp
smp..增加了代码复杂性。在真正的smp中缓存中存在碰撞(ping-pong)。--- 印刷
选择主要考虑工作量和接口卡数。对于IPsec,tc,复.杂路由等应用有帮助。对于只做nat帮助.不大。学习
3)内存
越快越好.,使用最快的高速芯片组。.
amd64(Op.teron,..)有每cpu的内存控制。.访问内存不浪费系统总线带宽。( 游戏 )
intel 传统的.共享系统总线架构.,内存没有每cpu控制。.
4)总线架构
桥接越少越好。host bridg.e, PCI-X/PXE bridge + NIC. chipset就够了. 乙肝
检查总线速度,真实.中断(PCI,PCI-X.)比消息报中断(MSI)有更小的延迟。.
一些板子使用PCIe.芯片组,加入了PCIe-to-PC.I-X桥接..
5)NIC选择
避.免多余.的桥接(如双口,四口),PCI-X 64位,更快的时钟频率(如133MHZ) 建材
nic驱动有很多可选特色(如TS0/G.S0,NAPI等),有.好的支持,主流的厂商。电脑
6)硬盘
内.核网络堆栈通常100%驻留在内存中,一般来说不太重要,只有对于SMTP等涉及存储的.服务才会考虑。--------------彩票
3.关于网络的优化。
1)避免多个NIC.共享同一ir.q行,依赖于主板/芯片组..
cat /proc/interr.upts可查看..
在smp系统中,中断可以绑定到每个cpu上.使用irq. affinity保证从一个接口的所有的数据包在同一个cpu上处理(缓存位.置一致) 乙肝
2)32位还是64位内核.
64位内核有更大.的内存地址空间,但是增加了数据结构(.所有指针从4换为8字节),降低了缓存效率。在包转发应用中,近10%性能降低。 外汇
3)防火墙
组织规.则设置.用树状结构以线性要好,connt.rack注意hashsize和ip_conntrack_max,使用ulogd-1.x或2.x替换syslog. 外汇
4)本地sockets
SO_SNDBUF/SO_RCVBUF应使用.在.2.6.x中,可以通过/proc/sys/net/ipv4/tc.p_[rw]mem来设置。电脑
在长肥管道中,增加/proc/sy.s/net/ipv/tcp_adv_win_scal.e的值. 汽车
5)核心网络堆栈
关.闭rp_filter,它增.加了每数据包的路由查询。.