Update README.md
业界分析显示,数据中心的资源利用率普遍较低。为降低成本和减少资源浪费,采取了各种共置策略,即在同一服务器上运行多个应用程序。然而,这种做法引发了资源争夺问题,尤其是在资源竞争激烈时,可能会严重影响应用性能,并使得无法保证应用的服务质量。此外,出于隐私和资源限制等因素,生产环境中在线应用的性能指标往往难以获得。因此,一个高效且精准的应用性能监测与预测软件对于应用调度至关重要。参赛者需基于龙蜥操作系统开发一款能够通过低级平台指标预测高级应用指标的应用性能预测软件。
在本次比赛中,我们团队开发了两款性能监测软件来实现性能监测与预测(仓库代码中分为内核模块和eBPF目录)。首先,通过学习使用内核模块方案实现的开源诊断工具diagnose-tools,并且在这个项目里实现了深度的系统性能监测,能够在内核空间高效地收集和分析系统性能数据,提供精准的性能指标和自定义监测功能。其次,我们利用 eBPF 技术开发了一个动态和高效的性能监测工具,并且通过promethues和Granfa这两款可视化和异常报警工具来实时监测应用的各项指标,并且给出一个指标预测方案,确保用户能及时发现异常情况并且给出优化方案。
结合这两种技术的优势,项目在内核模块中实现了高效的数据采集和处理逻辑,避免了频繁的用户空间与内核空间切换,从而减少了监测对系统性能的影响。同时,通过 eBPF,项目可以实时捕捉多种内核事件,并将这些事件与内核模块的数据进行整合,提供全面的性能分析。项目设计了灵活的自定义功能,用户可以根据具体需求调整监测策略和数据处理方式。内核模块和 eBPF 的结合使得该项目不仅能够满足常规的性能监测需求,还支持高度定制化的监测解决方案,适应不同的应用场景和业务需求。
本项目所监测的应用指标比较全面,包括了CPU、网络、KVM、等许多方面,可以对具体应用进行非常细粒度和全面的性能监测,并且再通过可视化和异常报警功能,可以准确地定位到应用的异常点。
. ├── 操作系统开源创新大赛项目功能说明书_小蜜蜂.docx ├── 操作系统开源创新大赛项目功能说明书_小蜜蜂.pdf ├── 操作系统开源创新大赛ppt_小蜜蜂.pptx ├── 小蜜蜂团队功能演示视频.mp4 ├── 内核模块 #内核模块实现方式 │ ├── 项目功能详细说明.md │ ├── diagnose-tools │ ├── docs #功能说明、测试文档 │ ├── images │ ├── README.md │ ├── test #测试代码及文档 │ ├── slowpast恶意攻击监测及诊断.mp4 │ └── 高负载高并发场景下问题进程诊断案例演示视频.mp4 │ ├── eBPF #eBPF实现方式 │ ├── eBPF_Visualization #可视化模块 │ │ │── README.md │ │ ├── eBPF_prometheus │ ├── prediction #预测部分 │ ├── eBPF_Supermarket │ │ ├── CPU_Subsystem #监测CPU模块 │ │ ├── eBPF_data_collector #数据导出模块 │ │ ├── kvm_watcher #监测KVM模块 │ │ ├──eBPF_Performance_Analysis #eBPF性能分析 │ │ ├── lib │ │ └── Network_Subsystem #监测网络模块 │ ├── lib
1.在内核模块实现中,我们新增了如下7个工具。
2.在eBPF实现方案中,我们开发了对如下三个Linux子系统的性能检测:
3.在实现好以上功能后,本团队对每个功能进行了详细的测试和优化,具体测试过程和结果以及优化过程请查阅《项目功能说明书》和仓库中的项目文档。
4.本项目所开发的功能可以解决龙蜥操作系统上的一些应用监测需求,如:使用kvm检测工具来监测龙蜥操作系统上的《Boxes》这个应用软件的性能。并且网络监测工具和CPU监测工具可以来监测龙蜥操作系统上的网络和CPU的详细情况。内核模块中开发的功能所涉及的应用场景在仓库中内核模块目录下有详细的介绍和说明。
本项目在谢宝友老师团队的开源工具diagnose-tools的基础上进行性能优化、二次开发与应用;该开源工具地址:diagnose-tools
本项目在搭建真实高负载环境时,采用了开源电商平台Fecshop项目,该开源项目地址:Fecshop
本项目在可视化部分使用了开源工具Promethues和Granfa
感谢团队成员(徐晗博、张铭轩、杨月顺)之间的相互鼓励和相互支持
感谢指导老师(陈莉君教授)不辞劳苦对本项目的指导
感谢项目老师(诗雁老师)不辞劳苦对本项目的悉心指点
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
基于龙蜥操作系统的应用性能监测与预测软件
1. 赛题背景
业界分析显示,数据中心的资源利用率普遍较低。为降低成本和减少资源浪费,采取了各种共置策略,即在同一服务器上运行多个应用程序。然而,这种做法引发了资源争夺问题,尤其是在资源竞争激烈时,可能会严重影响应用性能,并使得无法保证应用的服务质量。此外,出于隐私和资源限制等因素,生产环境中在线应用的性能指标往往难以获得。因此,一个高效且精准的应用性能监测与预测软件对于应用调度至关重要。参赛者需基于龙蜥操作系统开发一款能够通过低级平台指标预测高级应用指标的应用性能预测软件。
2. 赛题要求
3.项目介绍
在本次比赛中,我们团队开发了两款性能监测软件来实现性能监测与预测(仓库代码中分为内核模块和eBPF目录)。首先,通过学习使用内核模块方案实现的开源诊断工具diagnose-tools,并且在这个项目里实现了深度的系统性能监测,能够在内核空间高效地收集和分析系统性能数据,提供精准的性能指标和自定义监测功能。其次,我们利用 eBPF 技术开发了一个动态和高效的性能监测工具,并且通过promethues和Granfa这两款可视化和异常报警工具来实时监测应用的各项指标,并且给出一个指标预测方案,确保用户能及时发现异常情况并且给出优化方案。
结合这两种技术的优势,项目在内核模块中实现了高效的数据采集和处理逻辑,避免了频繁的用户空间与内核空间切换,从而减少了监测对系统性能的影响。同时,通过 eBPF,项目可以实时捕捉多种内核事件,并将这些事件与内核模块的数据进行整合,提供全面的性能分析。项目设计了灵活的自定义功能,用户可以根据具体需求调整监测策略和数据处理方式。内核模块和 eBPF 的结合使得该项目不仅能够满足常规的性能监测需求,还支持高度定制化的监测解决方案,适应不同的应用场景和业务需求。
本项目所监测的应用指标比较全面,包括了CPU、网络、KVM、等许多方面,可以对具体应用进行非常细粒度和全面的性能监测,并且再通过可视化和异常报警功能,可以准确地定位到应用的异常点。
4.仓库目录结构:
5.项目成果
1.在内核模块实现中,我们新增了如下7个工具。
2.在eBPF实现方案中,我们开发了对如下三个Linux子系统的性能检测:
3.在实现好以上功能后,本团队对每个功能进行了详细的测试和优化,具体测试过程和结果以及优化过程请查阅《项目功能说明书》和仓库中的项目文档。
4.本项目所开发的功能可以解决龙蜥操作系统上的一些应用监测需求,如:使用kvm检测工具来监测龙蜥操作系统上的《Boxes》这个应用软件的性能。并且网络监测工具和CPU监测工具可以来监测龙蜥操作系统上的网络和CPU的详细情况。内核模块中开发的功能所涉及的应用场景在仓库中内核模块目录下有详细的介绍和说明。
6 参考与引用
本项目在谢宝友老师团队的开源工具diagnose-tools的基础上进行性能优化、二次开发与应用;该开源工具地址:diagnose-tools
本项目在搭建真实高负载环境时,采用了开源电商平台Fecshop项目,该开源项目地址:Fecshop
本项目在可视化部分使用了开源工具Promethues和Granfa
致谢
感谢团队成员(徐晗博、张铭轩、杨月顺)之间的相互鼓励和相互支持
感谢指导老师(陈莉君教授)不辞劳苦对本项目的指导
感谢项目老师(诗雁老师)不辞劳苦对本项目的悉心指点