【银河麒麟高级服务器操作系统】服务器测试业务耗时问题分析及处理全流程分享
更多银河麒麟操作系统产品及技术讨论,欢迎加入银河麒麟操作系统官方论坛
https://forum.kylinos.cn
了解更多银河麒麟操作系统全新产品,请点击访问
麒麟软件产品专区:https://product.kylinos.cn
开发者专区:https://developer.kylinos.cn
文档中心:https://document.kylinos.cn
服务器环境以及配置
【机型】
| 处理器: | Hygon C86 7265 24-core Processor |
| 内存: | 512GB |
| 整机类型/架构: | X86_64 |
【内核版本】kernel-4.19.90-23.32.v2101.ky10.x86_64
【OS镜像版本】银河麒麟高级服务器操作系统 Kylin-Server-10-SP2-Release-Build09-20210524-x86_64
现象描述
在银河麒麟高级服务器操作系统V10SP1 系统上跑容器应用,从监控上看,kylin 的 CPU 和连接耗时都和红帽差距有点大,测试数据如下图。

1、intel_kylin组合业务耗时特别高,消费数很低;
2、hygon_kylin组合消费数比intel_redhat低了30%,且高并发下cpu异常升高。
现象分析
intel_kylin问题分析
针对intel_kylin组合业务耗时特别高的问题,分析1000线程数业务测试具体数据,如下图,copy事务最高耗时达到781s,平均4s多。

cpu使用率及网络流量监控数据如下图,cpu使用率仅15%,网络流量最高不足20MB。

在intel_redhat对比测试,结果也出现耗时突然升到10000ms的情况,分析耗时过高可能是测试程序异常导致数据失真,属于异常现象。

hygon_kylin问题分析
(1)针对hygon_kylin组合在600线程时消费数相比低了30%的问题,由于之前没有抓到600线程时的perf、top等数据,之后复现时再分析;先分析1000线程数具体测试数据。

上图中copy事务耗时最大值达到了18347.5,可能部分毛刺影响最终结果;抓取机器参数对比,hygon和intel机器各项性能指标如下:

hygon机器相比intel,cpu频率略低,测试场景下IPC(每cpu周期执行指令数)只有intel的一半多,因此hygon性能可能相对低一点,且测试时限制16C16G,hygon的核心数多的优势没有发挥出来,最终可能导致hygon机器测试结果比intel略低。
(2)分析hygon_kylin环境高并发下cpu使用率升高问题,根据hygon_kylin抓到的perf数据,转成火焰图如下,热点主要在ConsumeMessageT、NettyClientSele和NettyClientWork进程中。

对比intel_redhat,perf转换成火焰图效果如下。

在hygon_kylin中ConsumeMessageT进程和intel环境占比接近都达到60%以上,说明ConsumeMessageT线程在各自环境中都是主要热点进程;
再看hygon_kylin上cpu使用率及网络流量监控,cpu使用率达到75%:

对比intel_redhat上cpu使用率和网络流量监控平均56%左右。

通过抓取到top数据中的cpu使用率分析hygon_kylin环境cpu使用率升高原因。

对比每个ConsumeMessageT线程cpu使用率,两套环境比较接近,最高都在12%左右,但是统计多个时间点活动的ConsumeMessageT进程数量,hygon_kylin环境中有107-135个,intel_redhat上只有71-105个,猜测cpu使用率可能跟测试程序拉起的ConsumeMessageT线程数有关,具体可能跟测试程序关系更大。
小结
通过对上述perf、top数据、测试结果进行分析,初步怀疑:
1、intel_kylin环境并不是正常情况下测试,数据可能有问题;
2、hygon机器测试性能低于intel,可能会导致测试结果略低;
3、hygon_kylin环境在高并发场景下拉起了更多ConsumeMessageT测试进程,表现出cpu使用率升高,可能跟测试程序关系更大。
分析结果
复测验证
使用相同的测试方法复测收集数据来进行验证,期间测试程序经过几次改版,最新版本上复测得到的数据如下图所示。

该版本没有复现cpu使用率过高的问题,各项指标之间差距也没那么大。
测试波动分析
intel_redhat在800线程时测试了两次,第一次测试时消费数较高延迟也较低,但是测试快结束时耗时突然升高,到第二次测试时耗时平均400ms,消费数也有所下降,说明测试结果仍会有一定波动。

intel_kylin复测分析
intel_kylin复测数据和cpu使用率如下,对比intel_redhat各项数据都相差不大;

抓取intel_kylin环境perf数据,转换成火焰图效果如下:

在intel_redhat环境抓取的perf火焰图:

两个环境各个函数热点占比接近,没有发现异常开销,且测试结果、cpu使用率等也十分接近,说明在intel机器下kylin系统和redhat性能相差不大。
hygon_kylin复测分析
hygon_kylin和cpu使用率监控如下图,仍有部分毛刺或导致最终平均耗时偏高,测试时cpu利用率在40%左右。

抓取perf火焰图如下:

对比intel机器,海光的swapper占比更小,业务进程占比都高一些,可能整体cpu使用率仍相对较高,而其他函数比例都比较接近,没有发现明显异常的函数热点。
再通过抓取top数据进行对比,统计各个时间hygon_kylin和intel_rhel机器上的线程数,两者都是平均65个活动的ConsumeMessageT线程,怀疑新版本的测试程序对此做了一些优化,比之前测试的活动线程数少一些,相应的cpu使用率也较低。
总结
对比两次测试数据,旧版本测试数据如下:

新版本各个组合测试数据差距没那么大,cpu使用率也更稳定。

结合上述复测数据和问题分析结果:
(1)测试用例中间经过几次改版,可能修复了一些bug,之前intel_kylin测试时可能是测试程序异常导致数据失真,复测intel环境下,kylin和redhat系统性能相差不大。
(2)复测hygon_kylin相比intel_redhat性能仍略差,怀疑测试结果有一定波动,并且hygon机器性能低于intel,测试结果可能跟测试波动和机器性能有关。
(3)复测hygon_kylin场景cpu使用率没有出现异常升高,怀疑也是跟测试程序版本有关,最新版已解决相关bug。
目前复测各个环境测试结果相差不大,相比之前主要改动为测试程序改版,系统没有相关修改,怀疑主要还是测试程序的问题。
相关文章:
【银河麒麟高级服务器操作系统】服务器测试业务耗时问题分析及处理全流程分享
更多银河麒麟操作系统产品及技术讨论,欢迎加入银河麒麟操作系统官方论坛 https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer…...
基于大数据的民宿旅馆消费数据分析系统
【大数据】基于大数据的民宿旅馆消费数据分析系统(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统可以揭示民宿市场的消费模式和价格分布情况,帮助理解消费者偏好、价格走势及…...
Spring-AI搭建企业专属知识库 一
环境介绍:Spring3.3.2 JDK 21 POM文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&…...
极简本地体验deepseek大模型教程
一 题外随感:时代之问 就像狄更斯在双城记中所述,“这是最好的时代,这是最坏的时代”。每一代人都有其所处的时代,每一个时代都有其所谓好的一面和不那么好的一面。很多时候随口的一句大环境不好,就似乎给了自己一个最…...
RabbitMQ系列(五)基本概念之Queue
在 RabbitMQ 中,Queue(队列) 是存储消息的容器,也是消息传递的核心载体。以下是其核心特性与作用的全方位解析: 一、Queue 的定义与核心作用 消息存储容器 Queue 是 RabbitMQ 中实际存储消息的实体,生产者…...
【记录】成为创作者的第 730 天(两年)
收获 还是总在感叹走到今天收获的一切,都是自己曾经不敢想的。 无论是靠自己努力拿到的 Offer,还是在 CSDN 网站上结交的网友和前辈们,都是我莫大的荣幸和财富,感恩一切、感恩自己。 过去一年的收获真的数不胜数,抛…...
深度剖析数据分析职业成长阶梯
一、数据分析岗位剖析 目前,数据分析领域主要有以下几类岗位:业务数据分析师、商业数据分析师、数据运营、数据产品经理、数据工程师、数据科学家等,按照工作侧重点不同,本文将上述岗位分为偏业务和偏技术两大类,并对…...
【XSS】DVWA靶场XSS攻击
一、XSS攻击 1.1. XSS 攻击简介 XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的Web安全漏洞,它允许攻击者在受害者的浏览器中执行恶意脚本。攻击者通常通过在Web应用程序中注入恶意脚本代码(如JavaScript&…...
Fiddler在Windows下抓包Https
文章目录 1.Fiddler Classic 配置2.配置浏览器代理自动代理手动配置浏览器代理 3.抓取移动端 HTTPS 流量(可选)解决抓取 HTTPS 失败问题1.Fiddler证书过期了 默认情况下,Fiddler 无法直接解密 HTTPS 流量。需要开启 HTTPS 解密: 1…...
04 路由表的IP分组传输过程
目录 1、路由表的核心结构 2、IP分组传输过程和数据包转发过程 2.1、IP分组传输过程 2.2、数据包转发过程 2.3、IP分组传输过程和数据包转发的区别 3、数据包的变化 3.1、拓扑结构 3.2、传输过程详解(主机A → 主机B) 3.2.1、主机A发送数据 3.2…...
AI Agent 定义与核心要素详解
AI Agent(人工智能代理)是一种能够感知环境、自主决策并执行任务以达成目标的软件实体。它结合了感知、推理、学习和行动能力,能够在复杂环境中独立或协作工作。以下是其核心要素: 1. 感知 AI Agent 通过传感器或数据输入感知环…...
记忆化搜索与动态规划:原理、实现与比较
记忆化搜索和动态规划是解决优化问题的两种重要方法,尤其在处理具有重叠子问题和最优子结构性质的问题时非常有效。 目录 1. 记忆化搜索(Memoization) 定义: 实现步骤: 示例代码(斐波那契数列࿰…...
在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南
随着人工智能技术的飞速发展,本地部署大型语言模型(LLM)已成为许多技术爱好者的热门选择。本地部署不仅能够保护隐私,还能提供更灵活的使用体验。本文将详细介绍如何在 Mac mini M2(24GB 内存)上部署 DeepS…...
计算机网络基础简答题资料(对口高考)
1、什么是计算机网络?计算机网络的功能有哪些? 答案:计算机网络,是指将分布在不同地理位置、具有独立功能的多台计算机及其外围设备,通过通信设备和通信线路连接起来,在网络操作系统、网络管理软件及网络通…...
mysql内置工具导入csv包,简单便捷高效
先创建一个你想要的数据库 create database uba; 分析导入文件的格式内容 提前在数据库里创建你需要的表格 不然就会收到”mysqlimport: Error: 1146“大礼包 (你的csv文件名和表格名字一摸一样,大小写也是) use uba; create table userBehavior (us…...
【汽车ECU电控数据管理篇】HEX文件格式解析篇章
一、HEX格式文件是啥 HEX 文件是 Intel 公司提出的一种按地址排列的数据信息格式,通常用于存储嵌入式系统的二进制代码。它以 ASCII 码的形式记录数据,每一行以冒号开头,包含数据长度、地址、记录类型、数据和校验码等信息。HEX 文件常用于程…...
SOLID Principle基础入门
(Robert C. Martin (Uncle Bob)) 什么是SOLID原则? SOLID原则是面向对象编程(OOP)中编写高质量代码的指导方针。实际上,即使不使用SOLID原则,仅通过类、继承、封装和多态性,也可以让程序正常运行。那么为…...
keil主题(vscode风格)
#修改global.prop文件,重新打开keil即可 # Keil uVision Global Properties File # This file is used to customize the appearance of the editor# Editor Font editor.font.nameConsolas editor.font.size10 editor.font.style0# Editor Colors editor.backgro…...
微信小程序读取写入NFC文本,以及NFC直接启动小程序指定页面
一、微信小程序读取NFC文本(yyy优译小程序实现),网上有很多通过wx.getNFCAdapter方法来监听读取NFC卡信息,但怎么处理读取的message文本比较难找,现用下面方法来实现,同时还解决几个问题,1、在回调方法中this.setData不更新信息,因为this的指向问题,2、在退出页面时,…...
大模型使用
prompt生成bot 角色:你扮演一个帮助用户生成大模型prompt内容的角色,不要直接回答问题,而是帮助用户生成prompt 任务:根据用户的输入,分析用户意图,与用户进行多轮沟通,最后根据对话形成最终的prompt 指令:最终形成的prompt必须包含以下6个方面: 1.所有三个引号之间的内容原样输…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
