news 2026/4/15 9:52:14

Jmeter 压测-性能调优5大注意

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter 压测-性能调优5大注意

性能调优主要涉及这些方面:

代码、数据库、网络、硬件、系统构架

1、代码

①缓存

  1. 缓存是典型的空间换时间,在软件项目中,用的最多的是redis缓存,第一次查询的时候,将查询数据存储到缓存中。

  2. 后面每次查询,先从缓存中取数据,缓存中没有,再去数据库中取数据。

②多线程&多进程

使用多线程,缩短任务时间

③异步

  1. 针对某些客户端的请求,在服务端可能需要针对这些请求做一些附属的事情

  2. 这些事情其实用户并不关心或者用户不需要立即拿到这些事情的处理结果

  3. 这种情况就比较适合用异步的方式处理这些事情。

作用:缩短接口响应时间,使用户的请求快速返回,用户体验更好。

④批处理

是把一堆基本相同的请求批量处理,这样可以一批数据只写一次数据库,减少数据库的操作次数;

⑤简化代码​​​​​​​

  1. 如:减少循环的层数,减少递归,在循环中少声明变量,少做分配和释放内存的操作,尽量把循环体内的表达式抽到循环外

  2. 条件表达的中的多个条件判断的次序,尽量在程序启动时把一些东西准备好

  3. 注意函数调用的开销(栈上开销)

  4. 注意面向对象语言中临时对象的开销,小心使用异常等。

⑥前端-减少http 请求次数​​​​​​​

  1. 每个http请求从建立到关闭都需要一定的时间,因此减少http请求的数目可有效提高访问性能。

  2. 网页中的的图片、form、flash等等元素都会发出http请求。

⑦前端-减少DNS查询次数​​​​​​​

  1. DNS 的作用是将 URL 转化为实际服务器主机 IP 地址,实现原理是分级查找

  2. 查找过程需要花费 20~100ms 的时间

  3. 所以一方面我们要加快单次查找的时间

  4. 另一方面也要减少一个页面中资源使用了多个不同域的情况;

⑧前端-减少或避免页面跳转

页面跳转相当于又打开一个新的页面,耗费的时间就会比较长,所以要尽量避免使用页面跳转;

⑨前端-减少网页大小

网页过大,如果要快速下载,下载网页内容会需要比较大的带宽,带宽就有可能成为瓶颈。

⑩表单压缩,减少网络传输数据量

典型的时间换空间,虽然压缩消耗时间,但如果瓶颈在网络,用时间换空间反而能节省时间。

⑪使用内容分发网络(CDN)​​​​​​​

  1. 使用 CDN 相当于对静态内容做了缓存,并把缓存内容放在网络供应商(ISP)的机房

  2. 用户根据就近原则到 ISP 机房获取这些被缓存了的静态资源,因此可以大幅提高性能;

2、数据库

①添加/修改索引​​​​​​​

  1. 通过索引查询,缩短查询时间

  2. 通过修改联合索引,增加索引命中率

②分区分库分表​​​​​​​

  1. 不同服务或者不同业务的数据配置不同的数据库,这样在进行增删改查时候可减少数据库磁盘的读写频率。

  2. 备注:分区并不是生成新的数据表,而是将表的数据均衡分摊到不同的硬盘,系统或是不同服务器存储介

③数据库读写分离

从主库写入数据,从库读取数据,减少数据库磁盘的繁忙频率。

④修改数据库连接池

重新定义数据库连接池数,减少任务的排队数量。

⑤硬件配置

提高数据库CPU、内存、磁盘等硬件配置,提升处理能力。

3、网络

调整带宽

4、硬件

①增加机器数量

对于实现了分布式服务,增加服务器数量

②提高硬件配置

提高服务器CPU、内存、磁盘等配置,提高单台服务器的处理能力

③JVM

合理的分配堆与非堆的内存、GC

④中间件

调整ES、MQ中间件的配置架构,如增加中间件机器配置、单机改为分布式

5、系统架构

单机改为分布式集成、负载均衡​​​​​​​

  1. 时间(对于应用服务器而言):软件的响应时间…

  2. 空间(对于硬件服务器而言):服务器的磁盘使用率、CPU使用率、内存空闲率…

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

​​​​​​​

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 22:34:23

基于数据库的学情分析网站设计开题报告

2021级本科毕业设计(交叉复合型论文)开题报告表学号:姓名:学院:信息与通信工程学院第一专业:第一导师姓名、职称:第二专业:第二导师姓名、职称:论文题目题目来源(打勾选择…

作者头像 李华
网站建设 2026/4/5 7:49:39

anything-llm全功能RAG系统助力企业智能化升级

Anything LLM:重塑企业知识智能的RAG实践 在企业数字化转型的深水区,一个看似简单却长期无解的问题反复浮现:如何让员工快速、准确地获取组织内部散落在PDF、手册、邮件和共享盘中的知识?传统搜索工具面对非结构化文档束手无策&am…

作者头像 李华
网站建设 2026/4/3 14:24:25

PE-Labeled CEACAM-5/CD66e FcAvi Tag:上皮癌诊疗的“模块化多功能导航

PE-Labeled CEACAM-5/CD66e Fc&Avi Tag 是一种针对癌胚抗原家族关键成员设计的高级重组蛋白探针。癌胚抗原相关细胞粘附分子5是免疫球蛋白超家族的成员,在正常成人结肠黏膜等上皮组织有痕量表达,但在结直肠癌、非小细胞肺癌、胃癌、乳腺癌及胰腺癌等…

作者头像 李华
网站建设 2026/4/15 9:14:28

Open-AutoGLM如何实现电脑全自动操控?99%的人都不知道的5大核心技术

第一章:Open-AutoGLM如何实现电脑全自动操控?Open-AutoGLM 是一个基于自然语言理解与自动化执行框架的开源项目,旨在通过大语言模型驱动操作系统级任务,实现真正意义上的电脑全自动操控。其核心机制是将用户输入的自然语言指令解析…

作者头像 李华
网站建设 2026/4/8 22:59:52

anything-llm能否用于游戏剧情生成?互动叙事应用测试

Anything-LLM能否用于游戏剧情生成?互动叙事应用测试 在一款开放世界角色扮演游戏中,玩家做出了一个出人意料的选择:他没有拯救被绑架的盟友,反而与敌对势力达成交易。编剧团队原本并未为此设计后续分支——但游戏中的NPC却自然地…

作者头像 李华
网站建设 2026/4/11 8:16:14

LangFlow AppDynamics End User Monitoring

LangFlow 与 AppDynamics:构建可监控的 AI 工作流 在生成式 AI 快速渗透企业应用的今天,一个现实问题日益凸显:如何让复杂的语言模型工作流不仅“跑得起来”,还能“看得清楚”?传统的 LLM 应用开发往往止步于功能实现&…

作者头像 李华