性能调优常规手段(理论)

性能调优涉及空间换时间、时间换空间等策略,包括内存缓存、异步处理、并行计算等手段。文章介绍了从硬件、操作系统到数据库的调优方法,如自底向上和自顶向下的性能分析,以及JVM、数据库连接池和线程池的优化。同时强调了程序优化和业务架构调整的重要性,指出性能测试应尽早规划。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

性能调优常规手段

性能调优就是用更少的资源提供更好的服务,成本利益最大化。性能调优的手段并不新鲜,性能调优常规手段有:

(1)   空间换时间,内存、缓存就是典型的空间换时间的例子。利用内存缓存从磁盘上取出的数据,CPU请求数据直接从内存中获取,从而获取比从磁盘读取数据更高的效率。

(2)     时间换空间,当空间成为瓶颈时,切分数据分批次处理,用更少的空间完成任务处理。上传大附件时经常用这种方式。

(3)     分而治之,把任务切分,分开执行,也方便并行执行来提高效率。

(4)     异步处理,业务链路上有任务时间消耗较长,可以拆分业务,减少阻塞影响。常见的异步处理机制有MQ(消息队列),目前在互联网应用中大量使用。

(5)     并行,多个进程或者线程同时处理业务,缩短业务处理时间,比如我们在银行办理业务时,如果排队人数较多时,银行会加开柜台。

(6)     离用户更近一点,比如CDN技术,把用户请求的静态资源放在离用户更近的地方。

(7)     一切可扩展,业务模块化、服务化(同时无状态化)、良好的水平扩展能力。

 

分布式架构的运用给性能带来了革命性的提升,业务流程的调整也会显著提升系统性能,单系统的调优能够压榨出更高的处理能力。单机性能分析调优可从从以下四部分入手:

(1)     性能分析方法

(2)     基于单机的性能分析与调优

(3)     基于业务流程优化的性能分析调优

(4)     基于结构(分布式、业务拆分)的性能分析与调优

 

性能分析方法

性能分析是一个大课题,不同的架构、不同的应用场景、不同的程序语言分析的方法若有差异,抽象一下大致分为两类。

(1)     自底向上:通过监控硬件及操作系统的指标(CPU、内存、磁盘、网络等硬件资源的性能指标)来分析性能问题(配置、程序等问题)。因为用户请求最终是由计算机硬件设备来完成的,做事的是CPU。

(2)     自顶向下:通过生成负载来观察被测试的系统性能,比如响应时间、吞吐量;然后从请求的起点由外及里一层一层的分析,从而找到性能问题所在。

不管是自上而下还是自下而上,关键点就是生成负载、监控性能指标。好一点的方式是先用自顶向下的方式解决掉明显的性能问题,再结合自底向上的方式分析更深层次的问题。

 

单机的性能分析与调优

常见的J2EE应用架构,一般分为Web层(请求接入、负载均衡、页面渲染等)、应用层(业务逻辑实现)、持久化曾(数据记录)。

         下面列出了性能测试时我们需要关注的指标。

 

 

 

Client:客户浏览器,比如IE、Chrome等访问Web页面。

Load Machine:是生成负载的机器,即我们的压测机器用来模拟用户负载。

Web Server:提供Web服务的服务器,即我们访问的Web页面由此服务器提供服务;一般都部署在Nginx、Apache等中间件上。

Middleware:中间件,比如Tomcat、Jboss、WebLogic等。

OS:操作系统,Windows或者Linux。

System Resource:系统资源,比如CPU、内存、磁盘、网络等。

App Server:应用服务,实现业务逻辑,比如生成订单,生成统计报表。

DB:数据库服务器,比如Oracle、Mysql、SqlServer等。

(1)

RT:响应时间,一笔业务的完成时间。

TPS:每秒完成的事物数。

CPU:CPU的性能指标,比如CPU利用率、CPU负载。

Mem:内存性能指标,比如可用物理内存、虚拟内存使用率。

Disks:Disk性能指标, 比如Disk Time、IO等待。

Net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值