如何优化自己目前的系统,有没有去优化过,思考过?
USE模型(利用率 / 饱和度 / 错误)
cpu memory io
[linux 开机速度的优化]
应用层
[ IO模型的选择使用 ]
系统层
[ 文件系统的一致性 ]
选择 合适的文件系统 EXT4 。配合 fsck 修复。
根据你的数据可靠性,选择合适的参数
data=ordered
data=journal
data = writeback
[ IO读写速度的优化 ]
[ 提高吞吐率 ]
中断的负载均衡。
1、单队列网卡 -- 多核CPU RPS RFS 中断的绑定
RPS。 Receive Packet Steering 用软件模拟的方式,实现了多队列网卡所提供的功能,分散了在多CPU系统上数据接收时的负载, 把软中断分到各个CPU处理,而不需要硬件支持,大大提高了网络性能。
RFS 。Receive Flow Steering, 用来配合RPS补丁使用的,是RPS补丁的扩展补丁,它把接收的数据包送达应用所在的CPU上,提高cache的命中率。
该功能主要针对单队列网卡多CPU环境,如网卡支持多队列则可使用SMP irq affinity直接绑定硬中断。
2、多队列网卡 -- 多核CPU
当网卡驱动加载时,通过获取的网卡型号,得到网卡的硬件queue的数量,并结合CPU核的数量,最终通过Sum=Min(网卡queue,CPU core)得出所要激活的网卡queue数量(Sum),并申请Sum个中断号,分配给激活的各个queue。可以将各个中断分给不同的核来做负载均衡。
/proc/irq/{number}/smp_affinity
LEP与负载均衡—— 以PCDUINO实际案例来使用LEP提高网络带宽