摘要:
分析当前成熟操作系统,找出其在多核环境下的性能瓶颈并进行改进,已经成为了现代操作系统研究的重点之一。通过搜索服务压力测试实验发现,运行Nginx反向代理的64核Linux服务器的伸缩性不佳,启用64核时的吞吐量仅是1核时的3倍。瓶颈在于服务器上所有网卡中断和软中断处理都集中在一个CPU核上。结合网卡的Flow Direction机制和Linux内核中断的亲和性配置,实现了网卡中断负载均衡的方法,系统吞吐量提升33%。多核环境下网卡中断负载均衡无法保证TCP连接的亲和性。通过修改Linux内核代码,解决了TCP连接的非亲和性问题,系统吞吐量在之前的提升基础上,又提升9%。