智慧调优框架Wisdom-advisor:提升应用性能的终极指南
【免费下载链接】wisdom-advisorWisdom-advisor is a tunning framework aimming at improving the performance of applications.项目地址: https://gitcode.com/openeuler/wisdom-advisor
前往项目官网免费下载:https://ar.openeuler.org/ar/
智慧调优框架Wisdom-advisor是一个智能调整框架,旨在使用调度或其他方法来提高应用程序的性能。它支持Linux下的arm64和x86两种架构,通过多种优化策略帮助用户轻松提升应用性能,无需复杂的手动操作。
核心功能:三大策略助力性能提升 🚀
Wisdom-advisor提供了三种核心策略,满足不同场景下的性能优化需求:
用户指定的线程亲和性调度
通过解析环境变量__SCHED_GROUP__来获取线程亲和性。用户只需在进程环境变量中进行配置,Wisdomd将从/proc/pid/envrion获取组信息,例如"__SCHED_GROUP__<group_name>=thread_name1,t",系统会根据配置自动进行绑核操作。
线程亲和性检测
该策略通过跟踪syscall futex来获取线程亲和性。使用时,只需运行wisdom threadsaffinity --task sem命令,系统会通过ptrace检测futex锁的关系,推测哪些线程具有亲和性,并将这些线程绑定在同一NUMA节点,减少跨NUMA内存访问,从而提升性能。
线程分组
按用户定义探测并绑定线程到net和IO CPU。使用此策略时,需要提供IO cpu列表和网络cpu列表,例如运行wisdom threadsgrouping --task test --IO 1-2,5,6 --net 3-4命令,即可实现线程的合理分组与绑定。
多种可选优化策略:全面提升系统性能
除了核心策略外,Wisdom-advisor还提供了多种可选优化策略,进一步提升应用性能:
- NUMA亲和性检测:可以减少跨NUMA内存的访问,降低内存访问时延,提高内存使用效率。
- 网络亲和性检测:能够检测网络访问进程,并根据其使用的网络设备获取首选的NUMA节点,优化网络性能。
快速上手:简单几步完成安装与使用
编译项目
首先,按照以下步骤克隆并编译项目:
mkdir -p $GOPATH/src/gitee.com cd $GOPATH/src/gitee.com git clone https://gitcode.com/openeuler/wisdom-advisor cd wisdom-advisor export GO111MODULE=on go mod vendor make编译出的二进制执行文件路径为$GOPATH/pkg/。
运行测试用例
编译完成后,可以运行测试用例验证项目功能:
make check安装框架
测试通过后,执行以下命令安装Wisdom-advisor:
make install开始使用
Wisdomd是守护进程,wisdom是客户端。可以通过以下命令获取帮助信息:
wisdomd -h wisdom -hWisdomd在使用带有自动检测和线程分组策略时将执行一些扫描,此扫描操作可以关闭或重新启动,例如:
wisdom scan stop其他选项可以在帮助信息中找到。
许可证信息
Wisdom-advisor许可证是根据木兰PSL v2授权的。更多详细信息可参考项目中的License/LICENSE文件。
【免费下载链接】wisdom-advisorWisdom-advisor is a tunning framework aimming at improving the performance of applications.项目地址: https://gitcode.com/openeuler/wisdom-advisor
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考