千家信息网

性能调优的方法有哪些

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"性能调优的方法有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.性能测试是什么
千家信息网最后更新 2026年11月03日性能调优的方法有哪些

本篇内容介绍了"性能调优的方法有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.性能测试是什么

性能测试就是通过特定的方式,对被测系统按照一定的测试策略施加压力,获取该系统的响应时间、吞吐量、资源利用率等性能指标,来检验系统上线后能否满足用户需求的过程,主要包括测试需求/目的、测试环境/工具、测试方案、测试执行、测试结果与分析。

2.衡量系统的四大指标

衡量一个系统的性能,主要有以下四大指标:

响应时间

指应用执行一个操作所需的时间,包括从发出请求开始到最后收到响应所需要的时间。响应时间是系统最重要的性能指标,直观的反映了系统的快慢。

吞吐量

指单位时间内系统处理的请求数,体现系统的整体处理能力。TPS(Transaction per second)是吞吐量的一个常用量化指标,此外还有HPS(Hits per second)、QPS(Query per second)等。

资源利用率

指应用服务器、数据库服务器及被测系统包含的中间件服务器的CPU、内存、磁盘、网络等系统资源的使用情况。

并发数

指的是同时提交请求的用户数目。这四个指标之间的关系如图1。

图2

一个请求从发出到接收响应,如图2所示。大致流程如下:

  1. 客户端发送请求报文。客户端发送请求报文,经过网络传输后到达服务端;

  2. 服务端处理。服务端接收到请求报文后,进行业务逻辑处理和必要的数据读写操作;

  3. 服务端返回响应报文。服务端处理完后,将响应报文发送到客户端。

我们通常说的响应时间是第1步、第2步、第3步消耗的总时间。第1步主要是客户端请求耗时和网络耗时;第2步主要是业务逻辑、数据读写和网络耗时;第3步主要是客户端渲染和网络耗时。

第1、2、3步每一步都有可能存在性能问题,导致响应时间变长。第1步中如客户端主机配置低,反应慢等,第二步中如业务线程阻塞、数据库查询慢;第3步中如网络传输延迟。根据各种问题的类型,我们又可以把问题归为硬件问题、网络问题、代码问题、中间件问题等。不同问题也有不同的调优方法,下面我们简单聊一聊性能调优。

4.抓住时间的小偷-性能调优

常用的调优方法有:

  • 空间换时间。如数据缓存,提前从磁盘上读取数据缓存到内存中,CPU请求数据直接从内存中获取,从而达到更高的效率;

  • 时间换空间,如上传大附件,将数据分批次处理,用更少的空间完成任务处理;

  • 分而治之,把任务切分,分开执行,也方便并行执行来提高效率;

  • 异步处理,如互联网应用最常见的MQ消息队列,将业务链路上比较耗时的业务拆分出来,通过异步处理减少阻塞影响;

  • 并行,多个进程或者线程同时处理业务,缩短业务处理时间;

  • 离用户更近一点,如CDN技术,把用户请求的静态资源放在离用户更近的地方;

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

下面我们举几个案例进行说明。

案例1

问题描述: 压测某接口时,随着压测执行,响应时间越来越长。

问题分析:

  1. 打印线程堆栈,对比线程堆栈信息,发现线程堆栈中FailoverEvent的线程数越来越多,最终内存溢出;

  2. 查看代码发现,程序中未判断FailoverEvent线程队列是否已经存在,导致FailoverEvent线程队列重复创建。

解决方案:调用下游服务改用多线程方式。

解决方案:去掉冗余调用,一次请求调用一次selectList方法。

解决方案 :将事务1拆分,先查询,然后根据查询的结果批量删除。

优化结果 :死锁问题解决。

调优建议 :

  1. 避免大事务;

  2. 按同一顺序访问数据对;

  3. 避免编写包含用户交互的事务;

  4. 酌情使用低隔离级别,如RC;

  5. 为表添加合理的索引,如果不走索引将会为表的每一行记录加锁,死锁的概率就会大大增大;

  6. 避免在同一时间点运行多个对同一表进行读写的脚本,特别注意加锁且操作数据量比较大的语句;

  7. 设置锁等待超时参数,innodb_lock_wait_timeout。

5.总结

响应时间通常只是问题的表现,根本原因在于各种资源的利用是否合理,这里的资源是指广义的资源,包括硬件/软件资源、系统/线程/数据等不同级别的资源。调优本身,就是对各种资源进行更合理的配置。调优的目的通常也是为了满足业务需求,因此我们不必追求过早和过度优化,并且我们应该认识到,性能调优不可能一劳永逸,随着业务的迭代,总会有新的问题出现,因此我们应该具备打持久战的共识和能力。

"性能调优的方法有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

时间 问题 系统 性能 数据 处理 业务 线程 资源 服务 测试 网络 客户 客户端 指标 用户 方法 报文 内存 方案 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 互联网科技官网 科技服务与互联网 以房互联网科技 狮子座互联网科技有限公司 天津摩尔互联网科技 碳银互联网科技有限公司 成都仁贤领冠互联网科技有限公司 恒银科技与互联网金融 互联网科技热点资讯 智腾互联网科技有限公司 玉溪互联网科技怎么选 青海科技产业互联网发展 互联网科技人工智能实验室 中国科技创新与世界互联网大会 保险科技服务互联网营销体系 合肥互联网科技公司公章图片 互联网企业科技类企业如何做账 杭州披云加互联网科技有限公司 现代科技的标志之一的互联网 咖啡 互联网科技开发公司 北京互联网科技 哈尔滨秒房互联网科技有限公司 宁夏众和广鑫互联网科技有限公司 佛山市拉法互联网科技有限公司 群盈汇互联网科技有限公司 互联网安防科技感 东营紫格互联网科技 福建互联网展示科技馆设计
0