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

linux性能分析(五)如何学习linux性能优化

一   如何学习linux性能优化

强调: 由于知识'记忆曲线'以及'某些知识点不常用',所以一定要注重'复习'思考: 如何进行'能力转义'以及'能力嫁接'?  --> 真正站在巨人的'肩膀'上性能调优的'目的': 不影响'系统稳定性'的资源'最大'利用化补充: 性能分析不能'脱离环境'侃侃而谈,了解基本的'性能基线'切记: 千万不要把性能'工具'当成学习的'全部',应消除干扰,专注于'问题本身'性能优化不光是'解决问题'或者是'降低成本',还有一个方向是 '提升' 用户体验

①  性能优化的困惑

人性的'弱点': 面对困难的'勇气'和'决心'

②   性能指标是什么?

性能'指标'概念: 高并发 '=>' 吞吐   响应快 '=>' 延时

观察角度: '应用负载' 和 '系统资源' 的'视角'

③   性能优化需要什么基础

重点: '操作系统'、'计算机原理',工作'N'年后才明白'基础'的'重要性'建议: 如果'不具备'下面的能力,建议暂时不要'深入'探究,否则就会'走马观花',徒增烦恼

④  学习的重点是什么?

+++++++++++  "立个 flag"  +++++++++++1、建立'整体'性能的'全局观'2、理解最'基本'的几个'系统知识原理'3、掌握Linux 性能'工具图谱'的熟练应用

布伦丹·格雷格 大师勾勒的Linux性能工作图谱

讲解'思路': 我们先从'每类资源'开始,案例中会逐步'穿插各类资源瓶颈'的'交叉'情况

⑤  怎么学习更高效

技巧'一':虽然'系统的原理'很重要,但在刚开始一定'不要'试图抓住'所有的实现'细节说明: 很大'一部分人'不是科班出身,计算机的'基础的素养'可能部分缺失,所以一开始'不要深陷'细节

说明: 不同'教育'背景、不通'工作'环境的it人员学习的'深度'不一样

 

技巧'二': 边学边实践,通过'大量的案例'演习'掌握' Linux 性能的分析和优化 --> '实践出真知'

技巧'三': 勤'思考'、多'反思 [复习回顾]'、善'总结'、多问'为什么'诶主: 在'交流'中加深理解、并进行领域'扩展'学习

说明: 树立 'flag'

困惑:不理解把cpu跑满了'好还是不好'?备注: 感觉'cpu空闲'很多很'浪费资源',但是'平时优化'的时候,都是要'降低'cpu使用率

⑥   补充

1、简化版的'性能优化'排查'思路'遗留:1) 程序是使用'单核'还是'多核'  --> 'redis 单线程'2) 判断内存'不足' --> '业务实际需要'还是'内存溢出'3) cpu 核的使用'不均衡' --> 只有'某个 100%'4) 深入理解'/proc'目录下的'文件'遇到问题时会'Google 上网'搜索解决办法,但是'不知道原理',经常'胡乱'修改,'试错成本'太大

疑惑: '代码开发基础'在'性能优化工作'中到底能'占多少比重'?

思考: 关于'工具'的选择?

思考: 各种'软件'实际的性能优化'场景'? --> '各种组件'重点: mysql 性能'优化' --> '慢sql'、'索引'

思考: gitlab服务器在'push和pull'的时候存在'20%左右'的可能'连接不上'?

认识: '同一个指标'放到'不同场景'里的效果可能是'差别巨大'的

疑惑: '操作系统'和'内核原理'要学习到什么程度?

深度学习 'deeping learning'的开发中: 遇到的'困难和疑惑'

思考: 为什么应用程序只'祸祸'某一个CPU,使用率达到'100%'?备注: 'redis' 只使用'单核'、而 Memcached 可以使用多核

疑惑: '压测'时,CPU利用率很'低'?

思考: 作为'软件性能测试人员'如何学好'性能调优'?备注: 不能'放低'对自己的'要求'

疑惑: 性能分析的'目的'?

说明: '重启 restart' 大法 '治标不治本'

 

问题点: 调用函数'阻塞'导致性能问题

说明: 大厂'面试'也越来越关注'性能优化'?备注: 后续还是要'有针对性'修炼'内功'

思考: 测试人员的'困惑'?

思考: 对于'SRE'运维人员?

思考: 集群'负载'排查?说明: 服务一般都是'集群形式',多'实例'构成的

 

现象: 系统运行很'慢',我登录上去也'很慢'、操作也'慢',执行top要'很久'才有结果思考: 瞬间'oom'有何方式可以'捕获'思考: 遇到过内存泄露问题,程序运行过程中'内存一直增长',但是自己难以定位到到底是那里除了问题?

相关文章:

linux性能分析(五)如何学习linux性能优化

一 如何学习linux性能优化 强调: 由于知识记忆曲线以及某些知识点不常用,所以一定要注重复习思考: 如何进行能力转义以及能力嫁接? --> 真正站在巨人的肩膀上性能调优的目的: 不影响系统稳定性的资源最大利用化补充: 性能…...

1402. 做菜顺序 --力扣 --JAVA

题目 一个厨师收集了他 n 道菜的满意程度 satisfaction ,这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间(包含之前每道菜所花费的时间)乘以这道菜的满意程度,也就是 time[i…...

Springboot踩坑-request body重复读问题

背景 在一次业务开发中,由于需要在拦截器中对一个http请求中request body内容做解析和判断,所以用了httpServletRequest的getInputStream解析了request body内容,之后导致了拦截器处理成功后,原来的业务接口处报request body not…...

C++ 类和对象(六)赋值运算符重载

1 运算符重载 C为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数, 也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。 函数名字为:关键字operator后面接需…...

rust学习-trait std::cmp::PartialEq、Eq、PartialOrd、Ord

PartialEq 介绍 pub trait PartialEq<Rhs = Self> whereRhs: ?Sized, {// Required method,后文有讲解这个注释fn eq(&self, other: &Rhs) -> bool;// Provided method,后文有讲解这个注释fn ne(&self, other: &Rhs) -> bool {... } }x.eq(y)…...

k8s pod根据指标自动扩缩容举例

目录 基于 内存 指标实现pod自动扩缩容 举例配置 基于 cpu 指标实现pod自动扩缩容 举例配置 基于请求数&#xff08;次/秒&#xff09; 指标实现pod自动扩缩容 举例配置 基于 http请求响应时间 (ms) 指标实现pod自动扩缩容 举例配置 基于 Java GC暂停时间 (ms) 指标实现…...

深、浅拷贝之间的关系

深、浅拷贝之间的关系 什么是赋值 赋值是将某一数值或对象赋给某个变量的过程&#xff0c;分为下面 2 部分 基本数据类型&#xff1a;赋值&#xff0c;赋值之后两个变量互不影响引用数据类型&#xff1a;赋址&#xff0c;两个变量具有相同的引用&#xff0c;指向同一个对象&…...

服务器数据恢复-某银行服务器硬盘数据恢复案例

服务器故障&分析&#xff1a; 某银行的某一业务模块崩溃&#xff0c;无法正常使用。排查服务器故障&#xff0c;发现运行该业务模块的服务器中多块硬盘离线&#xff0c;导致上层应用崩溃。 故障服务器内多块硬盘掉线&#xff0c;硬盘掉线数量超过服务器raid阵列冗余级别所允…...

仪器器材经营小程序商城的作用是什么

互联网发展下&#xff0c;数字化转型已经成为常态&#xff0c;仅依赖传统线下经营模式将很难再增长。 作为产品销售及客户维护度高的仪器器材行业&#xff0c;拥有自营商城平台是必要的&#xff0c;不仅可以解决以上难题&#xff0c;还利于打造自身品牌多渠道传播&#xff0c;…...

京东数据分析:2023年9月京东洗烘套装品牌销量排行榜!

鲸参谋监测的京东平台9月份洗烘套装市场销售数据已出炉&#xff01; 根据鲸参谋平台的数据显示&#xff0c;今年9月份&#xff0c;京东平台洗烘套装的销量为7100&#xff0c;环比下降约37%&#xff0c;同比增长约87%&#xff1b;销售额为6000万&#xff0c;环比下降约48%&#…...

论文阅读-多目标强化学习-envelope MOQ-learning

introduction 一种多目标强化学习算法&#xff0c;来自2019 Nips《A Generalized Algorithm for Multi-Objective Reinforcement Learning and Policy Adaptation》本文引用代码全部来源于论文中的链接。主要参考run_e3c_double.py文件 1 总体思想 1.将输入中加入多目标的偏…...

【原创】【考法总结】指针*与++结合的题目考法总结

代码均已调试出结果&#xff0c;放心食用&#xff0c;大致总共5种考法 【理论铺垫】①a[i]恒等价于(ai)即*(&a[0]i)&#xff1b;i类似偏移量&#xff08;别忘a代表数组首元素地址即&a[0]&#xff09; ②*(&a[i])恒等价于a[i]&#xff1a;&a[i]表示a[i]的地址&a…...

react dispatch不生效的坑

一、前言 最近写react antd项目&#xff0c;在A页面中使用了dispatch方法&#xff0c;然后B页面中嵌套A页面&#xff0c;没有问题&#xff1b; 但是在C页面中嵌套A页面的时候&#xff0c;就发现dispatch方法没有执行&#xff0c;也不报错&#xff0c;就很奇怪&#xff1b; 还…...

Mingw快捷安装教程 并完美解决出现的下载错误:The file has been downloaded incorrectly

安装c语言编译器的时候&#xff0c;老是出现The file has been downloaded incorrectly&#xff0c;真的让人 直接去官网拿压缩包&#xff1a;https://sourceforge.net/projects/mingw-w64/files/ &#xff08;往下拉找到那个x86_64-win32-seh的链接&#xff0c;点击后会自动…...

OpenGL —— 2.6、绘制一个正方体并贴图(附源码,glfw+glad)

源码效果 C源码 纹理图片 需下载stb_image.h这个解码图片的库&#xff0c;该库只有一个头文件。 具体代码&#xff1a; vertexShader.glsl #version 330 corelayout(location 0) in vec3 aPos; layout(location 1) in vec2 aUV;out vec2 outUV;uniform mat4 _viewMatrix; u…...

JavaWeb从入门到起飞笔记——导学课程

学完这一节&#xff0c;我不知道学Web开发究竟能干什么&#xff1f;你知道吗&#xff1f; 以下是黑马程序员Java从入门到起飞的笔记 一、学完Javaweb能干什么&#xff1f; 学完Java后我们可以独立开发一些后台管理系统&#xff0c;例如CRMER器&#xff0c;京东和淘宝&#x…...

【LeetCode:1402. 做菜顺序 | 动态规划 + 贪心】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

基于FPGA的图像拉普拉斯变换实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a vivado2019.2 3.部分核心程序 timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 202…...

高校教务系统登录页面JS分析——巢湖学院

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习&#xff0c;勿用于非法用途。 一、密码加…...

人工智能、机器学习、深度学习的区别

人工智能涵盖范围最广&#xff0c;它包含了机器学习&#xff1b;而机器学习是人工智能的重要研究内容&#xff0c;它又包含了深度学习。 人工智能&#xff08;AI&#xff09; 人工智能是一门以计算机科学为基础&#xff0c;融合了数学、神经学、心理学、控制学等多个科目的交…...

谷歌宣布提供1000万美元资助,支持4万名制造业从业者掌握AI技能

当地时间4月13日&#xff0c;谷歌宣布提供1000万美元的资助&#xff0c;以支持美国制造业研究所帮助美国劳动力迎接工业创新新时代的到来&#xff0c;这笔资金将助力4万名现有及未来的制造业从业人员掌握AI技能&#xff0c;并将学徒培训机会扩展至全美15个地区。这笔千万美元的…...

ESP32-S3 + OneNet物联网平台实战:手把手教你用MQTT协议上报温湿度数据(附完整代码)

ESP32-S3与OneNet物联网平台实战&#xff1a;从零构建温湿度监测系统 物联网技术的快速发展让硬件开发者能够轻松将传感器数据上传至云端。本文将手把手教你使用ESP32-S3开发板&#xff0c;通过MQTT协议将DHT11温湿度传感器的数据上传至OneNet物联网平台&#xff0c;构建一个完…...

深入拆解VR5510的电源时序与低功耗模式:从域控制器设计到实战优化

VR5510电源管理系统深度解析&#xff1a;汽车电子工程师的实战指南 在汽车电子系统设计中&#xff0c;电源管理芯片(PMIC)扮演着至关重要的角色&#xff0c;它如同整个系统的心脏&#xff0c;为各个功能模块提供稳定可靠的能量供应。NXP的VR5510作为一款专为汽车域控制器和网关…...

低查重AI教材生成秘籍大公开!专业工具助力高效编写优质教材!

编写教材的变革&#xff1a;AI 时代的新选择 编写教材离不开丰富的资料支持&#xff0c;但传统的资料整合方式已经无法满足现今的需求。以前&#xff0c;我们需要从各类渠道&#xff0c;例如课标文件、学术研究和教学案例中收集信息&#xff0c;这些资料分散在知网、教研平台等…...

MusicFree插件:打造个性化音乐播放器的开源解决方案

MusicFree插件&#xff1a;打造个性化音乐播放器的开源解决方案 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 在当今数字音乐时代&#xff0c;你是否厌倦了在不同音乐平台间频繁切换&#xff1f…...

老旧Mac焕发新生:OpenCore Legacy Patcher完整使用指南

老旧Mac焕发新生&#xff1a;OpenCore Legacy Patcher完整使用指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否有一台被苹果官方抛弃的老旧Mac&…...

如何在MATLAB中快速创建专业级小提琴图:免费数据可视化完整指南

如何在MATLAB中快速创建专业级小提琴图&#xff1a;免费数据可视化完整指南 【免费下载链接】Violinplot-Matlab Violin Plots for Matlab 项目地址: https://gitcode.com/gh_mirrors/vi/Violinplot-Matlab 想要在MATLAB中创建既美观又信息丰富的数据可视化图表吗&#…...

MogFace镜像安全合规实践:纯本地运行杜绝隐私泄露,满足GDPR/等保2.0要求

MogFace镜像安全合规实践&#xff1a;纯本地运行杜绝隐私泄露&#xff0c;满足GDPR/等保2.0要求 在数据隐私和安全法规日益严格的今天&#xff0c;处理包含人脸等敏感信息的图像数据&#xff0c;正面临前所未有的合规挑战。无论是欧盟的《通用数据保护条例》&#xff08;GDPR&…...

Qwen-Turbo-BF16在QT跨平台开发中的应用:智能聊天机器人

Qwen-Turbo-BF16在QT跨平台开发中的应用&#xff1a;智能聊天机器人 1. 引言 想象一下&#xff0c;你正在开发一个需要在Windows、Linux和macOS三大平台上运行的智能聊天应用。传统的开发方式可能需要为每个平台编写不同的代码&#xff0c;维护成本高且开发周期长。而今天我们…...

QMC解码器:3分钟解锁QQ音乐加密文件,实现跨平台音乐自由

QMC解码器&#xff1a;3分钟解锁QQ音乐加密文件&#xff0c;实现跨平台音乐自由 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 还在为QQ音乐下载的歌曲只能在特定应用播放…...