漫话性能:USE方法
2023-09-27 14:29:04 时间
USE 方法检查使用率(utilization)、饱和度(saturation),以及所有硬件资源的错误(error)。
通过发现某一成为瓶颈的资源,许多应用程序的性能问题都能用该方法得到解决。
USE 方法也适用于软件资源,取决于应用程序。如果你能找到应用程序的内部组件的功能图,对每种软件资源都做使用率、饱和和错误指标上的考量,看看有什么问题。举一个例子,有一个应用程序用一个工作线程池来处理请求,请求在队列里排队等待被处理。把这个当作资源看待,那么三个指标可以做如下定义。
- 使用率:在一定时间间隔内,忙于处理请求的线程平均数目。例如,50%意味着,平均下来,一半的线程在忙于请求的工作。
- 饱和度:在一定时间间隔内,请求队列的平均长度。这显示出等待工作线程的有多少个请求。
- 错误:出于某种原因,请求被拒绝或失败。
你所要做的就是找到测量这些指标的方法。它们可能已经由应用程序提供在某处,或者可能需要添加这些指标或者用另外的工具做测量,如动态跟踪。
例子
举一个不同的例子,文件描述符。系统会设置一个上限,使得文件描述符变成了有限资源,三个指标如下。
- 使用率:使用中的文件描述符的数量,与上限做一个百分比。
- 饱和度:取决于操作系统的行为,如果线程会为等待文件描述符分配而被阻塞,那么这个指标就是等待文件描述符的被阻塞的线程数目。
- 错误:分配失败,如EFILE,“太多打开文件”。
相关文章
- 解读数仓常用模糊查询的优化方法
- 《目标检测蓝皮书》第7篇 模型优化方法及思路
- <转>MySQL性能调优的10个方法
- ArrayList 排序方法的性能对比
- PHPstorm破解方法及xdebug的断点调试
- 优化MySQL性能的几种方法-总结
- Arthas(阿尔萨斯)- 阿里开源的Java在线诊断工具(火焰图-实战篇--正则表达式 优化方法)
- ubuntu环境变量的三种设置方法
- Java 字符串拼接 五种方法的性能比较分析 从执行100次到90万次
- Python爬虫之三种网页抓取方法性能比较
- 让字典 按值大小排序的方法
- 什么是性能调优?性能调优的方法有哪些,流程是怎样的
- 看看别人后端API接口性能优化的11个方法,那叫一个优雅!
- 8种提升ASP.NET Web API性能的方法
- 大数据Spark “蘑菇云”行动第77课:Spark Streaming性能调优思考和实践方法,发现磁盘空间没有了,怎么办
- Oracle配置和性能优化方法
- 已解决org.springframework.context.annotation.ConflictingBeanDefinitionException异常的正确解决方法,亲测有效!!!
- 单细胞数据整合方法 | Comprehensive Integration of Single-Cell Data
- 性能对转化率影响评估方法
- C#设计模式系列:模板方法模式(Template Method)
- 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用简介 | Launcher 应用源码简介 | Launcher 应用快捷方式图标点击方法分析 )
- 3.JAVA-方法重载,类的封装访问权限,构造/析构方法
- 不要再用main方法测试代码性能了,用这款JDK自带工具
- 以太坊: ETH 发送交易 sendRawTransaction 方法数据的签名 和 验证过程