分享好友 最新动态首页 最新动态分类 切换频道
性能调优怎么做,看过这一篇就都会了!
2024-12-28 10:14

在展开今天的内容之前,我们先来看一下,是不是任何一个测试都可以学习性能测试。

如果说需求、开发、DB、运维、测试是单一一门学科,那么性能就是综合学科,它包含了需求分析、DB、开发、测试、运维的所有学科。

所以说,学习性能测试,你前期需要懂的是需求分析、DB设计、程序开发、自动化测试、运维。

所以今天的内容是性能分析的一大重点,也是一大难点

WebServer服务优化

对于Web服务性能优化的方向,一般是

  • 页面静态化:比如访问的页面,先进行静态化后提供访问,减少DB负担

  • 减少页面的Size

    减少图片尺寸、CSS合并、JS精简等

    客户端缓冲图片、样式等

  • 去掉无用请求与数据

  • 对数据做异步处理(非常关键)

  • 只能DNS及CDN加速,让响应数据离用户更近,规避缓解网络瓶颈。

程序优化

程序优化是治本的方法,也是我们大部分来解决性能问题的一个措施。

当前性能测试大部分都是在SIT(集成测试)测试完成后再进行的,如果出现严重性能问题、修改代码等代价太大,这不是熬几个通宵的事情,有可能看不到第二天的太阳。

所以为了规避这种问题,所以我们要提前做打算,这就体现了一个测试架构师的重要性。

顺序是:先架构后程序(即先整体后个体)。

系统架构的选择

例如:SSH(Struts、Spring、Hibernate)架构,应该是在当下最流行的MVC模型,SSH为我们提供了明晰的层次结构,各层协同完成业务实现,即简化了设计过程,也加快了程序交付进程。

凡事有好的一面,必定有短板:如大型的业务系统,如果我们把大量的数据从数据库取出来,然后利用程序进行分析计算。

不过,有没有想到会增加网络传输,而且在程序中进行处理有可能并不是最佳解决方案。想想,如果把这些大数据量放在数据库计算,是不是就非常的轻松+愉快呢~

所以,老话说得好,任何事情都要量力而行。选择相对来说最优的方案,就是最佳方案

程序优化

低效代码优化,不包含系统架构,就是纯粹的业务逻辑及算法低效。

:逻辑混乱、调用继承不合理、内存泄露等,有问题,咱就得有对策,解决方法

表单压缩

减少网络传输量。

局部刷新

页面中采取局部内容获取方式,减少向服务器请求次数。

仅取所需

只向服务器请求必要内容,只向客户端发送必要表单。

逻辑清晰

不做错误及多余调用,资源请求后能释放。

谨慎继承

对系统架构了解,特别是一些基础类,公共组件,合理利用。

程序算法优化

试着分析程序,是否需要用算法来提高程序效率(如果不会算法,那就别勉强了)。

批处理

对大量的数据处理,最好能做成批处理:好处那是大大的。

延迟加载

大对象的展示,可以做延迟加载的方式,层层递进显示明细。

防止内存泄露

内存泄露,是由于对象无法回收造成的,特别需要注意的是长生命周期的对象。

减少大对象使用

防止在程序中声明及实例化大对象,不能为了方便而设计出大对象。大对象太大,小体格的吃不消。

防止争用死锁

一般出现在线程同步的场景。

索引

编写合理的SQL,尽量利用索引。

存储过程

为了减少数据传输到应用层面,一般会在数据库层面利用存储过程来完成数据逻辑的运算,只需要回传少量的结果给应用层。

内存分配

合理分配数据库内存,如PGA与SGA设置;不对大数据提供orderby操作,避免PGA被占满。

并行

使用多线程或线程来处理任务。

异步

如用MQ(消息中间件)来解耦系统之间的依赖关系,减少阻塞。

使用设计好的模式来优化程序

选择合适的IO模式

如NIO、AIO等。

配置优化

这作为一个老码农,应该非常准确闪现出JVM、连接池、缓存机制、CDN等优化手段。

JVM配置优化

合理分配堆与非堆的内存,配置适合的内存回收算法,提高系统服务能力。

连接池

数据库连接池可以节省建立链接与关闭链接的资源消耗。

线程池

通过缓存线程的状态来减少新建线程与关闭线程的开销,一般都是中间件进行配置,如在Tomcat的server.xml文件中。

缓存机制

通过数据的缓存来减少磁盘读写的压力,缩小存储与CPU的效率差。

数据库连接池优化

数据库连接池存在的意义就是让链接复用。通过建立一个数据库连接池(缓冲区)以及一套链接使用、分配、管理策略,使得该连接池中的链接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。

以上没有唠到重点,我们无非关注这三点

  • 连接池的参数配置

  • 连接池配置多少合适

    按需分配,够用就行!小窍门:一般情况数据库连接池的数量<中间件线程池的链接数量

  • 监控连接池。

DB优化

DB的优化思路就是一少三减

  • 少做

  • 减少请求次数

  • 减少数据传输量

  • 减少运算量(查询、排序、统计)

业务流程优化

架构的好坏直接影响到整个系统的运行,所以,一个好的架构师,是一个系统的基石。

这种架构优化留给架构师吧,不然他们干啥~

结构优化

结构优化就好比我们人类进化是一样一样的。由最开始的单机结构已经无法满足日渐增长的业务量,所以架构的演变就这样开始了:单机结构→集群结构→分布式结构。

下面我们就来瞅瞅,这些结构的构成图。

单机结构
集群结构
分布式结构

调优,是一个复杂学科,没有学霸的智商,得有学渣不要脸的劲,才能成为一个性能专家。

切记,团队的支持,是最重要的,切勿单打独斗,因为你是斗不过的……

归根结底,我们分析调优为了啥,就是在客户发送请求的时候,我们以最快的速度响应给客户。

 感谢每一个认真阅读我文章的人

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

最新文章
nba历史得分榜总得分虎扑(nba历史得分榜实时)
1、nba历史得分榜最新排名虎扑2、NBA历史得分榜3、虎扑nba历史总得分榜排名4、詹姆斯各项数据历史排名1、NBA历史得分榜最新排名: 卡里姆·阿卜杜·贾巴尔:在1560场比赛中得到38387分。 勒布朗·詹姆斯:在1372场比赛中得到37217分。 卡尔
汕尾网站开发制作|公司网站建设,定制建站
汕尾信息科技有限公司位于汕尾贸易区,拥有多年以上集体网站建立,平板网站设计,公司网站搭建等开发经验,开发团队人员。多功能网站定制开发服务,技术开发型科技公司。汕尾网站建设,建设高端网站,设计模板网页,品牌型网页搭建,网页设计,网
PbootCMS采集工具推荐及采集注意事项
优秀的PbootCMS采集工具,可以有助于节省更新内容时间和提高网站排名收录,今天我们分享几款pbootcms采集工具,他们是功能强大、易于使用的工具。它能够帮助用户快速准确地获取内容、减少重复工作、并提供SEO 优化服务。如此一来,就能够帮
美康生物涨0.43%,成交额6899.64万元,主力没有控盘
12月16日,涨0.43%,成交额6899.64万元,换手率2.03%,总市值44.46亿元。根据AI大模型测算美康生物后市走势。短期趋势看,该股当前无连续增减仓现象,主力趋势不明显。主力没有控盘。中期趋势方面,下方累积一定获利筹码。近期该股有吸筹现
网络投票怎样增加投票数量?微信帮忙拉票数有什么方式?
网络投票怎样增加投票数量?微信帮忙拉票数有什么方式?现在的投票活动,不仅是呼朋唤友,更有花钱请专业拉票团队做外援的。只需通过微信人人都能够进行投票,这样的方法给了微信拉票存在的空间,不少人就瞄准了这其间的商家,缤纷建立起了
这就是竞争力!参观比亚迪弗迪电池重庆工厂!
比亚迪作为电池起家的公司,曾经给摩托罗拉,诺基亚代工,提供电池!从智能手机到智能汽车,比亚迪在电池领域研究最深,也深知上下游产业链的重要性,所以比亚迪之所以目前成为中国新能源市场销量第一,也是因为自主研发电池,控制上下游产
SEO蜘蛛池强引网站怎么收录啊?如何才能让网站被搜索引擎收录
随着互联网的快速发展,越来越多的企业和个人开始关注网站的搜索引擎优化(SEO)。SEO不仅仅是为了让网站更美观,更重要的是提高网站在搜索引擎中的排名,从而吸引更多的自然流量。如何才能让你的网站快速被
网站关键词优化费用解析,投资回报的理性分析,网站关键词优化投资回报分析,费用解析与理性考量
关键词优化费用涉及多种因素,包括竞争程度、关键词难易度等。理性分析表明,投资关键词优化需综合考虑ROI,合理预算,确保投入产出比。避免过度投资,关注长期效果,以实现网站流量和转化率的稳步提升。进行关键词优化,首先需要借助各种
泰兴网站制作专业服务提升企业网络形象与品牌价值
在数字化浪潮的推动下,企业的网络形象和品牌价值成为其在市场中脱颖而出的关键因素。一个精心设计的网站不仅是企业的名片,更是与客户沟通的桥梁。泰兴网站制作专业服务以其卓越的技术和创新的设计理念,帮助企业在数字世界中建立独特的品
百度基木鱼落地页跳转微信的具体操作
在互联网时代,百度成为了我们解答疑问的首选工具。而作为广告主,我们都知道百度的广告投放是一个非常有效的推广方式。然而,仅仅在百度上投放广告是不够的,我们还需要引导用户跳转到微信,以便与他们建立更紧密的联系。那么,如何实现百
相关文章
推荐文章
发表评论
0评