一、性能测试问题记录:

Ⅰ、秒杀的失败率了在96.45%,原因 Query对于 活动的秒杀采用的是0.5秒,刷新缓存的策略在活动中优惠券被秒杀一空

下架前,短暂的时间内仍能够查询到 这个活动架构中采用了CQRS模式只保证了最终结果一致性,并不能保证实时一致性。

Ⅱ、日志级别为Info,导致CPU很大一部分的是用来处理日志相关的功能,

Ⅲ、异步输出日志能比同步输出的方式下,提升了接近100%的吞吐量

Ⅳ、代码中存在大量数据库连接使用未关闭的情况,导致后续事务无法获取数据库连接

Ⅴ、logstach配置错误,导致redis数据无法及时导出,2G存储量很快被占满报错

Ⅵ、MQ队列使用错误,为每次事务单独建立了队列,且这些队列无法自动清除

Ⅶ、网关配置有误,导致限流发生;对接ERP方式代码有误;数据库配置错误,导致性能缓慢

Ⅷ、数据库出现死锁

Ⅸ、QPT(请求数)增加↑,TPS(吞吐量)没有上去,是因为当时服务器能处理就这么多

Ⅹ、服务器的配置确实偏弱,1核8G,需要同时跑网关、外卖等多服务,且此时并未分多节点部署

二、jmeter使用技巧点记录:

1、由于变量 无法在不同的线程组中共享和传递,这时候 Beanshell postprocess组件就排上用场了,它的作用将当前线程组中目标变量转换为全局变量

2、jmeter集合点:通过添加定时器来完成,只能作用于JVM中

3、硬件服务器不足时,可采用Jmeter的分布式集群,远程启动测试

4、性能测试数据,除了.cvs、txt等一般模拟数据外,还可以使用 脱敏后的线上数据

三、性能测试经验小结:

1、性能测试一般都是需要进行多轮测试,因此,性能调优是一个循环过程

2、代码质量过关,性能测试就只是走个过场

3、性能测试可能找出开发编码不合理,同时也能 帮助运维找出更合适的系统应用部署方案

4、在性能测试过程中,系统架构图作用就很明显了,在日志报错信息不明确情况下,可以查看每部分的监控信息,

查出报错原因,如果没有架构图,则只能东一榔锤西一棒头,效率很低。

5、log4j2的吞吐量相对于log4j1而言大幅提高了约40%,内存使用量也更少了。因此,推荐使用性能更佳的log4j2替换掉陈旧的log4j1。

四、性能需求指标项和指标值二八原则:

eg:,每日派件量1000W,按照2:8原则推算:

  (1000W*80%)、(8*3600*20%)=1388.8,取整为1389笔/每秒

  每年按照业务量增长50计算,一年后系统处理能力指标约等于:1389*(1+50%)=2083.3,取整为2084笔/每秒

  按照稳定性交易量推导:取系统处理能力的80%计算:

  80%*2084*8*3600=36011520≈3601W笔/天

五、性能工具引入:

1、Jmeter:用于进行负载和压力测试

2、jProfiler:用于进行性能测试分析

3、nmon:用于监控系统负载

4、zabbix:用于监控服务器硬件信息

5、pinpiont:分布式系统监控工具

6、Jmeter的PerfMon插件

7、当然也可以用云智慧的监控宝和透视宝协同工作,监控宝可以监控网站/网页性能/Ping/DNS/FTP/UDP/TCP/SMTP等IT基础设施的性能指标,透视宝可以发现主机资源、Web应用、浏览器、APP等应用的性能瓶颈,

监控宝监控页面:

六、性能实施流程:

1、性能测试流程分为五个阶段,分别是【需求调研阶段】→【测试准备阶段】→【测试执行阶段】→【测试报告阶段】→【测试总结阶段】。

2、性能需求提供者:一般为产品人员/业务方/研发人员

需求调研:需求调研工作由性能测试实施人员牵头负责,产品经理、开发工程师、运维工程师配合完成;

需求调研的主要内容为:系统线上环境的性能需求,例如性能需求、可靠性需求、可维护性需求等;

jmeter性能测试总结的更多相关文章

  1. JMeter基于http请求的web接口性能测试总结

    [本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...

  2. JMeter性能监测插件介绍(三)

    JMeter 性能监测插件介绍 压力测试过程中,能够随时对负载服务器的健康状况的把控是相当重要的,有了这些数据,我们才能准确分析出服务器负载瓶颈.JMeter 插件包现在能够支持服务器监控,可以在所有 ...

  3. 性能测试分享:jmeter性能监控(一)

    性能测试分享:jmeter性能监控(一) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908 ...

  4. 【Jmeter自学】Jmeter性能测试报告(八)

    http://www.cnblogs.com/YatHo/p/6092599.htmlhttp://blog.csdn.net/xiaojianpitt/article/details/4821554 ...

  5. JMeter性能监控插件PerfMon Metrics Collector

    Jmeter性能监控插件由客户端插件和服务器端程序组成. 官方文档及插件下载地址https://jmeter-plugins.org/wiki/PerfMon/ 将插件 plugins-manager ...

  6. Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(一)

    在做性能测试的时候,重点关注点是各项性能指标,用Jmeter工具,查看指标数据,就是借助于聚合报告,但查看时也并不方便.那如何能更直观的查看各项数据呢?可以通过InfluxDB+Grafana+Jme ...

  7. Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(三)

    在之前系列博文中,已经介绍完了数据采集和数据存储,那数据如何展示呢?所以今天就专门来讲下数据如何展示的问题. 以前博文参考: Docker系列--InfluxDB+Grafana+Jmeter性能监控 ...

  8. 【Jmeter】api性能测试总结

    1.前提概念 平时常用的性能测试:api性能测试+场景性能测试:今天就说一说api性能测试 2.如何进行性能测试? 需求:对某api进行性能测试,看看最大承受的并发数,分析下图表 分析: 错误思路:当 ...

  9. 【性能测试】性能测试总结<三>

    常见性能测试工具: 性能测试工具,从理论上来讲在性能测试过程中使用到的所有工具都可以称其为性能测试工具,通常分为以下几类: 说明: 服务器端性能测试工具:需要支持产生压力和负载,录制和生成脚本,设置和 ...

随机推荐

  1. IO—转换流和键盘录入

    简单来说,由于方法的局限性和功能的需要,特此产生了转换流. InputStreamReader是字节流转换字符流的桥梁,为了提高效率,可以在缓冲区中放入转化流的对象,,并且构造函数第二个参数可以传入一 ...

  2. linux下安装虚拟环境

    安装pip $ wget https://bootstrap.pypa.io/get-pip.py $ python get-pip.pypython3 -m pip install --upgrad ...

  3. css-滚动条常用的样式修改

    // ::-webkit-scrollbar { /*滚动条整体样式*/// width: 10px; /*宽分别对应竖滚动条的尺寸*/// height: 5px; /*高分别对应横滚动条的尺寸*/ ...

  4. springboot错误1 Failed to execute goal org.springframework.boot:spring-boot-maven-plugin

    关于Springboot打包错误的问题 | Failed to execute goal org.springframework.boot:spring-boot-maven-plugin https ...

  5. 错误/异常:org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/shore/model/Husband.hbm.xml 的解决方法

    1.错误/异常视图 错误/异常描述:无效的映射异常,无法从xxxxx资源中解析映射文档 2.解决方法     出现这个异常,一般情况下是包名写错了.改回来即可. 看报错/异常的第一行,最后面,会提示你 ...

  6. HZOJ 20190727 T2 单(树上dp+乱搞?+乱推式子?+dfs?)

    考试T2,考试时想到了40pts解法,即对于求b数组,随便瞎搞一下就oxxk,求a的话,很明显的高斯消元,但考试时不会打+没开double挂成10pts(我真sb),感觉考试策略还是不够成熟,而且感觉 ...

  7. Ubuntu安装jdk10

    一:去官网下载jdk,和jre 因为jdk10之后jdk和jre是分开的 jdk下载       jre下载 二:解压缩,并放到指定目录 # 创建目录 sudo mkdir /usr/lib/java ...

  8. mac重启nginx时报nginx.pid不存在的解决办法

    在安装nginx后,重启时发现报 nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such f ...

  9. fileReader对象读取txt文件乱码问题 以及如何获取文件的url路径(绝对路径)

    <input type="file" @change="aaa($event)"> <div id="hi">< ...

  10. Java实验课:命令行参数是什么?

    命令行参数:在命令行中给定的参数就是命令行参数.(即从输入位置角度理解). 命令行的参数 1. 什么是命令行的参数? 如: java Test1 365 156 "China" ( ...