当前位置: 首页 > news >正文

【银河麒麟高级服务器操作系统】服务器测试业务耗时问题分析及处理全流程分享

 更多银河麒麟操作系统产品及技术讨论,欢迎加入银河麒麟操作系统官方论坛

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搭建企业专属知识库 一

环境介绍&#xff1a;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大模型教程

一 题外随感&#xff1a;时代之问 就像狄更斯在双城记中所述&#xff0c;“这是最好的时代&#xff0c;这是最坏的时代”。每一代人都有其所处的时代&#xff0c;每一个时代都有其所谓好的一面和不那么好的一面。很多时候随口的一句大环境不好&#xff0c;就似乎给了自己一个最…...

RabbitMQ系列(五)基本概念之Queue

在 RabbitMQ 中&#xff0c;Queue&#xff08;队列&#xff09; 是存储消息的容器&#xff0c;也是消息传递的核心载体。以下是其核心特性与作用的全方位解析&#xff1a; 一、Queue 的定义与核心作用 消息存储容器 Queue 是 RabbitMQ 中实际存储消息的实体&#xff0c;生产者…...

【记录】成为创作者的第 730 天(两年)

收获 还是总在感叹走到今天收获的一切&#xff0c;都是自己曾经不敢想的。 无论是靠自己努力拿到的 Offer&#xff0c;还是在 CSDN 网站上结交的网友和前辈们&#xff0c;都是我莫大的荣幸和财富&#xff0c;感恩一切、感恩自己。 过去一年的收获真的数不胜数&#xff0c;抛…...

深度剖析数据分析职业成长阶梯

一、数据分析岗位剖析 目前&#xff0c;数据分析领域主要有以下几类岗位&#xff1a;业务数据分析师、商业数据分析师、数据运营、数据产品经理、数据工程师、数据科学家等&#xff0c;按照工作侧重点不同&#xff0c;本文将上述岗位分为偏业务和偏技术两大类&#xff0c;并对…...

【XSS】DVWA靶场XSS攻击

一、XSS攻击 1.1. XSS 攻击简介 XSS&#xff08;Cross-Site Scripting&#xff0c;跨站脚本攻击&#xff09;是一种常见的Web安全漏洞&#xff0c;它允许攻击者在受害者的浏览器中执行恶意脚本。攻击者通常通过在Web应用程序中注入恶意脚本代码&#xff08;如JavaScript&…...

Fiddler在Windows下抓包Https

文章目录 1.Fiddler Classic 配置2.配置浏览器代理自动代理手动配置浏览器代理 3.抓取移动端 HTTPS 流量&#xff08;可选&#xff09;解决抓取 HTTPS 失败问题1.Fiddler证书过期了 默认情况下&#xff0c;Fiddler 无法直接解密 HTTPS 流量。需要开启 HTTPS 解密&#xff1a; 1…...

04 路由表的IP分组传输过程

目录 1、路由表的核心结构 2、IP分组传输过程和数据包转发过程 2.1、IP分组传输过程 2.2、数据包转发过程 2.3、IP分组传输过程和数据包转发的区别 3、数据包的变化 3.1、拓扑结构 3.2、传输过程详解&#xff08;主机A → 主机B&#xff09; 3.2.1、主机A发送数据 3.2…...

AI Agent 定义与核心要素详解

AI Agent&#xff08;人工智能代理&#xff09;是一种能够感知环境、自主决策并执行任务以达成目标的软件实体。它结合了感知、推理、学习和行动能力&#xff0c;能够在复杂环境中独立或协作工作。以下是其核心要素&#xff1a; 1. 感知 AI Agent 通过传感器或数据输入感知环…...

记忆化搜索与动态规划:原理、实现与比较

记忆化搜索和动态规划是解决优化问题的两种重要方法&#xff0c;尤其在处理具有重叠子问题和最优子结构性质的问题时非常有效。 目录 1. 记忆化搜索&#xff08;Memoization&#xff09; 定义&#xff1a; 实现步骤&#xff1a; 示例代码&#xff08;斐波那契数列&#xff0…...

在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南

随着人工智能技术的飞速发展&#xff0c;本地部署大型语言模型&#xff08;LLM&#xff09;已成为许多技术爱好者的热门选择。本地部署不仅能够保护隐私&#xff0c;还能提供更灵活的使用体验。本文将详细介绍如何在 Mac mini M2&#xff08;24GB 内存&#xff09;上部署 DeepS…...

计算机网络基础简答题资料(对口高考)

1、什么是计算机网络&#xff1f;计算机网络的功能有哪些&#xff1f; 答案&#xff1a;计算机网络&#xff0c;是指将分布在不同地理位置、具有独立功能的多台计算机及其外围设备&#xff0c;通过通信设备和通信线路连接起来&#xff0c;在网络操作系统、网络管理软件及网络通…...

mysql内置工具导入csv包,简单便捷高效

先创建一个你想要的数据库 create database uba; 分析导入文件的格式内容 提前在数据库里创建你需要的表格 不然就会收到”mysqlimport: Error: 1146“大礼包 (你的csv文件名和表格名字一摸一样&#xff0c;大小写也是&#xff09; use uba; create table userBehavior (us…...

【汽车ECU电控数据管理篇】HEX文件格式解析篇章

一、HEX格式文件是啥 HEX 文件是 Intel 公司提出的一种按地址排列的数据信息格式&#xff0c;通常用于存储嵌入式系统的二进制代码。它以 ASCII 码的形式记录数据&#xff0c;每一行以冒号开头&#xff0c;包含数据长度、地址、记录类型、数据和校验码等信息。HEX 文件常用于程…...

SOLID Principle基础入门

(Robert C. Martin (Uncle Bob)) 什么是SOLID原则&#xff1f; SOLID原则是面向对象编程&#xff08;OOP&#xff09;中编写高质量代码的指导方针。实际上&#xff0c;即使不使用SOLID原则&#xff0c;仅通过类、继承、封装和多态性&#xff0c;也可以让程序正常运行。那么为…...

keil主题(vscode风格)

#修改global.prop文件&#xff0c;重新打开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.所有三个引号之间的内容原样输…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 &#xff09; 缓存工作原理分析 在了解了本地缓存和远程缓存之后&#xff0c;我们来探究缓存是如何工作的。以计算文件的哈希串为例&#xff0c;若后续运行任务时文件哈希串未变&#xff0c;系统会直接使用对应的输出和制品文件。 2 …...

SQLSERVER-DB操作记录

在SQL Server中&#xff0c;将查询结果放入一张新表可以通过几种方法实现。 方法1&#xff1a;使用SELECT INTO语句 SELECT INTO 语句可以直接将查询结果作为一个新表创建出来。这个新表的结构&#xff08;包括列名和数据类型&#xff09;将与查询结果匹配。 SELECT * INTO 新…...