linux 系统下的服务性能优化
背景
在我们服务运行环境由物理机切换到云上后,发现服务性能有大幅下降(时延有较大的上升)。
分析
首先是服务的性能变化和上云有关。然后分析对比物理机和云的参数对比。比如外部竞争;云的宿主机系统版本;perf stat分析内存情况等。
1、外部竞争:因为云上容器是和其他容器混部,难免会受到其他容器的影响。
2、云宿主机系统版本:虽然容器的linux版本和物理机相同,但是涉及底层调度还是由宿主机系统版本决定的。比如centos7对于并发需求比较高的场景,不如centos8;这是因为centos8对于并发支持更好。
3、perf stat分析内存情况:分析物理机和云上容器的cache miss。
本次性能优化主要是cache miss导致
原因:物理机和云上容器的的LLC cache miss率 差了10%以上。
深层原因:因为我们使用的云 没有将 LLC 根据容器进行隔离。
1、进程在node间迁移导致远程内存访问。
2、进程在node间迁移导致LLC miss开销
3、容器的内外部争抢,不仅会因为调度延迟影响性能,但也会被其他容器进程频繁的冲刷缓存
解决方案:1、cpuset;2、numa;3、LLC隔离
资料:
https://blog.csdn.net/qq_24343177/article/details/127139050
https://blog.csdn.net/a29562268/article/details/127605240
https://mp.weixin.qq.com/s?__biz=MzI2NDA0NDM1MA==&mid=2650111444&idx=1&sn=1d14f6396eb43d8f7d47a324240d30f2&chksm=f2b37785c5c4fe93d269a1c128c08c65de8daab68b34f68ae480bc0292808b91a4a72d953f5c&scene=27
https://www.bbsmax.com/A/rV57XvLEdP/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通