码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
第一章:概述
一、背景说明
1、生产环境中的问题?
生产环境发生了内存溢出该如何处理?
生产环境应该给服务器分配多少内存合适?
如何对垃圾回收器的性能进行调优?
生产环境CPU负载飙高该如何处理?
生产环境应该给应用分配多少线程合适?
不加log,如何确定请求是否执行了某一行代码?
不加log,如何实时查看某个方法的入参与返回值?
2、为什么要调优?
防止出现 OOM
解决 OOM
减少 Full GC 出现
3、不同阶段的考虑
上线前
项目运行阶段
线程出现 OOM
二、调优概述
1、监控的依据
运行日志
异常堆栈
GC日志
线程快照
堆转储快照
2、调优的大方向
合理的编写代码
充分并合理的使用硬件资源
合理地进行 JVM 调优
三、性能优化的步骤
1、性能监控
GC频繁
cpu load 过高
OOM
死锁
程序响应时间较长
2、性能分析
打印 GC 日志
通过 GC Viewer 或者 http://gceast.io 来分析日志信息
灵活运用命令行工具、jstack、jmap、jinfo
dump出堆文件,使用内存分析工具分析文件
使用 Arthas、jconsole、JVisualVm 来实时查看 JVM状态
jstack 查看堆栈信息
3、性能调优
适当增加内存,根据业务背景选择垃圾回收器
优化代码,控制内存使用
增加机器,分散节点压力
合理设置线程池线程数量
使用中间件提高程序效率、比如:缓存、消息队列
其他…
四、性能评价/测试指标
停顿时间(响应时间)
提交请求和返回该请求的响应之间使用的时间,-.般比较关注平均响应时间常用操作的响应时间列表:
吞吐量
对单位时间内完成的工作量(请求) 的量度
并发数
内存占用
相互间的关系
各位
彭于晏
,如有收获点个赞不过分吧…✌✌✌
相关阅读:
用patchelf改程序后在exp中用gdb.attach()调试堆栈
高等数学(第七版)同济大学 习题10-4 (后7题)个人解答
(九)mmdetection源码解读:训练过程中训练数据的调用DataLoader
NC-UClient下载安装应用详解
爬虫知识--01
Linux操作系统与Shell编程
node.js+uniapp(vue),阿里云短信验证码
C++设计模式——Proxy代理模式
像素和分辨率的关系
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
原文地址:https://blog.csdn.net/aetawt/article/details/128008902
最新文章
【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
用 Hashids 优雅解决 C 端自增 ID 暴露问题
V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
LLVM Pass快速入门(四):代码插桩
milkup:桌面端 markdown AI续写和即时渲染
基于项目工程构建SBOM(软件物料清单)的研究
鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
.NET 中如何快速实现 List 集合去重?
扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
浅谈数据访问层
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
小工具
小游戏
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
京公网安备 11010502049817号