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'有何方式可以'捕获'

思考: 遇到过内存泄露问题,程序运行过程中'内存一直增长',但是自己难以定位到到底是那里除了问题?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/105365.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据清洗与规范化详解

数据处理流程,也称数据处理管道,是将原始数据转化为有意义的信息和知识的一系列操作步骤。它包括数据采集、清洗、转换、分析和可视化等环节,旨在提供有用的见解和决策支持。在数据可视化中数据处理是可视化展示前非常重要的一步,…

【MATLAB源码-第56期】基于WOA白鲸优化算法和PSO粒子群优化算法的三维路径规划对比。

操作环境: MATLAB 2022a 1、算法描述 1.粒子群算法(Particle Swarm Optimization,简称PSO)是一种模拟鸟群觅食行为的启发式优化方法。以下是其详细描述: 基本思想: 鸟群在寻找食物时,每只鸟都…

【Solidity】智能合约案例——③版权保护合约

目录 一、合约源码分析: 二、合约整体流程: 1.部署合约: 2.添加实体: 3.查询实体 4.审核版权: 5.版权转让 一、合约源码分析: Copyright.sol:主合约,定义了版权局的实体&#xff…

2023 10月最新Vmd 下载安装教程,WindowsLinux

文章目录 下载Vmdwindows版本安装LINUX版本安装 下载Vmd 谷歌搜索VMD 点击左下角download VMD 可选择对应版本 注:点击后会出现输入用户名和密码,由于我已注册,界面不见了,所以直接描述一下。 输入用户名和密码然后会出现让登记…

力扣刷题 day56:10-26

1.解码异或后的数组 未知 整数数组 arr 由 n 个非负整数组成。 经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] arr[i] XOR arr[i 1] 。例如,arr [1,0,2,1] 经编码后得到 encoded [1,2,3] 。 给你编码后的数组 encoded 和原…

腾讯云学生专享云服务器介绍及购买攻略

随着互联网技术的不断发展,越来越多的人开始关注云计算领域。作为国内领先的云计算服务商,腾讯云推出了“云校园”扶持计划,完成学生认证即可购买学生专享云服务器。 一、活动对象 仅限腾讯云官网通过个人认证的35岁以下学生用户参与&#x…

微信小程序云开发笔记-初始化商城小程序

缘起:由于痴迷机器人,店都快倒闭了,没办法,拿出点精力给店里搞个小程序,要多卖货才能活下来搞机器人,在此记录一下搞小程序的过程,要不然搞完又忘了。腾讯的云开发,前端和后端都有了…

二、可行性分析与需求分析

文章目录 概念考点练习题一、可行性分析与需求分析1.可行性分析的任务2.可行性研究3.甘特图4.数据流图5.数据字典数据字典的内容 6.需求分析7. 实体联系ER图8. 状态转换图 二、练习题 概念考点练习题 一、可行性分析与需求分析 1.可行性分析的任务 用最小的代价在尽可能短的时…

双非本两年经验,靠这套Java面试题拿下拿下阿里、百度、美团、滴滴、快手、拼多多等大厂offer

背景 博主是双非大学毕业,有两年的互联网经验 社招面试也是一样的流程:项目 八股 算法 项目: 公司项目,涉及的技术包括但不限: 管理域:DDD、CQRS、事件总线、命令总线 运行域:微内核、规则…

Centos磁盘爆满_openEuler系统磁盘爆满清理方法---Linux工作笔记060

磁盘爆满,监控部门就会报警,报警就要处理,但是程序员并不擅长做运维的工作,记录一下把...以后用到会方便: 使用df -h命令可以看到,对应的磁盘占用情况,这里我的/dev/mapper/openeuler-root这个目录 占用的磁盘比较多,到了百分之95了.. 往往就是这个跟目录,我这里/data目录是自…

FoLR:Focus on Local Regions for Query-based Object Detection论文学习笔记

论文地址:https://arxiv.org/abs/2310.06470 自从DETR问询式检测器首次亮相以来,基于查询的方法在目标检测中引起了广泛关注。然而,这些方法面临着收敛速度慢和性能亚优等挑战。值得注意的是,在目标检测中,自注意力机制…

长连接的原理

Apollo的长连接实现是 Spring的DeferredResult来实现的,先看怎么用 import ...RestController RequestMapping("deferredResult") public class DeferredResultController {private Map<String, Consumer<DeferredResultResponse>> taskMap new HashMa…

express session JWT JSON Web Token

了解 Session 认证的局限性 Session 认证机制需要配合 cookie 才能实现。由于 Cookie 默认不支持跨域访问&#xff0c;所以&#xff0c;当涉及到前端跨域请求后端接口的时候&#xff0c;需要做很多额外的配置&#xff0c;才能实现跨域 Session 认证。 注意&#xff1a; 当前端…

深眸科技以需求定制AI视觉解决方案,全面赋能产品外观缺陷检测

产品外观是影响产品质量最重要的因素之一&#xff0c;其平整度、有无瑕疵等不仅影响到产品美观&#xff0c;甚至能够直接影响产品本身的使用和后续加工&#xff0c;给企业带来重大经济损失。 随着人工智能技术的快速发展&#xff0c;机器视觉与AI技术的结合应用加速渗透进工业…

C# 使用base64编码用于加密和解密

base64编码原理&#xff1a;Base64编码是一种将二进制数据转换为ASCII字符的编码方式。它使用64个字符来表示二进制数据&#xff0c;包括大小写字母、数字和两个符号。将3个字节的二进制数据转换为4个字符的文本数据&#xff0c;如果不足3个字节&#xff0c;则在末尾补0&#x…

【发展史】鼠标的发展史

最早可以追溯到1952年&#xff0c;皇家加拿大海军将5针保龄球放在能够侦测球面转动的硬件上&#xff0c;这个硬件再将信息转化成光标在屏幕上移动&#xff0c;用作军事计算机输入。这是我们能够追溯到的最早的依靠手部运动进行光标移动的输入设备。但当时这个东西不叫鼠标&…

MySQL进阶(日志)——MySQL的日志 bin log (归档日志) 事务日志redo log(重做日志) undo log(回滚日志)

前言 MySQL最为最流行的开源数据库&#xff0c;其重要性不言而喻&#xff0c;也是大多数程序员接触的第一款数据库&#xff0c;深入认识和理解MySQL也比较重要。 本篇博客阐述MySQL的日志&#xff0c;介绍重要的bin log (归档日志) 、 事务日志redo log(重做日志) 、 undo lo…

Rookit系列二【文件隐藏】【支持Win7 x32/x64 ~ Win10 x32/x64平台的NTFS文件系统】

文章目录 前言探究代码演示 前言 文件隐藏的方法有很多&#xff0c;这里分享的是一种通过内核文件重定向的方式动态规避检测的方法。举例&#xff1a;假设有一个安全软件A&#xff0c;A要扫描文件B&#xff0c;B是我们想要隐藏的文件。那么我们在内核中将A打开文件B的操作重定…

MFC 注册表

文章目录 打开注册表对注册表的键的操作创建子键删除子键遍历子键 对注册表值的操作读取值设置值 打开注册表 void CREGDemoDlg::OnBnClickedBtnOpen() {//打开注册表HKEY hKey;if (ERROR_SUCCESS ! RegOpenKeyEx(HKEY_CURRENT_USER, L"SOFTWARE\\Baidu.com", 0, KEY…

JS加密/解密之那些不为人知的基础逻辑运算符

不多说&#xff0c;直接上干货 使用逻辑非运算符 ! 和双重逻辑非运算符 !!&#xff1a;例如 ![]、!![]、!0、!!0 和 !""、!!""。空字符串的转换&#xff1a;!"" 和 !!""。数组和对象的类型转换&#xff1a;[] []、[] - []、{} [] 和…