
性能测试
As。
嘿嘿,年龄越来越大了,脑袋不够用了,昨天还会的东西今天就忘记了,所有... 那就发记笔记多发博文吧。
展开
-
Jmap-简单使用
命令:jmap -help作用:查看jmap用法命令:jmap pid作用:查看进程的内存映像信息命令:jmap -heap pid作用:显示java堆详细信息,打印一个堆的摘要信息,包括使用的GC算法,堆配信息和各内存区域内存使用信息命令:jmap -histo:live pid作用:显示堆中对象的统计信息;包含每个java累,对象数据,内存大小,完全限定的类名,打印的虚拟机内部的类名称将会带有一个*前缀,如果指定了live子选项,则只计算活动的对象命令:jmap -clstats原创 2021-09-08 22:27:41 · 314 阅读 · 0 评论 -
Jstack-简单使用
Jstack:主要用来查看某个java进程内的线程堆栈信息语法格式为:jstack [option] pid:输出当前压测接口的实时堆栈信息命令行参数: -l long listings:会打印出额外的锁信息,在发送死锁时可以来观察锁持有情况 -m mixed mode:不仅会输出java堆栈信息,还会输出C/C++堆栈信息jstack可以定位到线程堆栈,根据堆栈信息定位到具体代码,所以在JVM性能调优中使用很多举个例子;找出java进程中最耗费CPU的java线程并定位堆栈信息1.先找出部原创 2021-09-08 22:26:34 · 415 阅读 · 0 评论 -
性能测试-实际进行性能测试操作的过程(Ngrinder)
先确认是http接口还是dubbo接口使用模板更新groovy脚本;将接口在本地调试通通过SVN上传代码到Ngrinder创建用例,确认自己是需要做稳定性测试还是基准测试设置代理数(进程数,线程数)设置需要测试的脚本设置测试时间设置需要监控的机器(一般是接口涉及的服务机器,数据库机器)执行完成后;注意看TPS、响应实际、失败率目前日常使用的基准测试,先压5个线程,然后20个,然后100个。模板:import HTTPClient.Cookieimport HTTPClient.H.原创 2021-09-01 22:25:54 · 375 阅读 · 0 评论 -
性能测试-性能分析&性能调优
**监控:**需要针对操作系统、中间件、数据库、应用等进行监控;每种类型的监控尽量指标全面操作系统:CPU利用率、内存利用率、磁盘I/O、网络I/O,内核参数一、CPU主要关注CPU利用率和CPU负载1.CPU利用率:显示的是程序在运行期间实际占用的CPU时间百分比2.CPU负载:显示的是一段时间内正在使用和等待使用CPU的平均任务数CPU利用率包括4种状态:User态、Sys态、Wait态、Idle态us:用户进程执行时间百分比;us值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超原创 2021-08-15 21:26:54 · 242 阅读 · 0 评论 -
性能测试-风险控制
风险控制:(为了保证系统的稳定性能,对于被依赖的服务采用不信任的原则,以及出于对自己系统的保护)风险控制常用的三种:熔断、降级、限流熔断:为了防止被调服务超时而导致拖垮调用方系统的一种自我保护机制;某一个服务不可用时,不会将整个系统拖垮;不会影响到其他链路提供服务降级:当整个应用的负载超出了预设的上限阈值,或者遇到大促时发现流量超过预估的值时,为了保证核心的服务能够正常运行,可以将一些不重要,不紧急的服务进行服务的延迟使用或者暂停使用,以此减轻服务器的压力,从而保证大部分重要请求能够得到正确的响应限原创 2021-08-15 21:24:08 · 705 阅读 · 0 评论 -
性能测试-场景设计
数据量级1、当前数据量级2、未来预估数据量级用户数据量级1、当前每个用户的数据量级(最大、最小、平均)2、未来预估每个用户的数据量级接口类型①.查询类1、缓存类读取2、无缓存类回源,考察缓存失效场景②更新类1、并发更新同一个值,如下单接口,更新商品库存字段2、并发更新某几个值请求策略1、超时配置2、熔断机制3、请求响应时间MOCK返回1、MOCK的延迟2、返回数据基础配置1、连接池2、线程池3、缓存策略请求参数1、session2、首页与非首页单页数据量原创 2021-08-15 21:22:12 · 141 阅读 · 0 评论 -
性能测试-需求以及测试点确认
内容的完整性1、逻辑描述(文字的详细描述或者流程图):完整到可以根据其描述设计测试用例2、有没有涉及第三方引用接口?引用接口样例有没有给,需要MOCK3、涉及到哪些环境? 本次涉及到的环境,看有没有新需要搭建的环境,要提前搭建部署好接口细节确认1、每个接口涉及到的缓存、数据库层、引用的第三接口等2、接口的入参有没有3、接口的样例有没有4、接口涉及到的缓存如内存缓存还是REDIS缓存?若涉及REDIS缓存,那会涉及到哪些KEY?5、数据库用到的是什么数据库?如MYSQL/TIDB,涉及到的哪原创 2021-08-15 21:20:26 · 204 阅读 · 0 评论 -
性能测试-环境搭建之部署tomcat
部署tomcat:1.root权限;sudo su root2. rm -rf *;删除该目录下所有文件3.curl -s ‘tomcat地址’4.解压tomcat包;tar -zxvf 包名5.进入webapps,删除该目标下所有文件;rm -rf *6.上传写好的包;curl -s ‘包名’7.进入bin目录;启动tomcat8.进入logs目录。可以查看日志没报错即可9.如果报错;杀死当前进程;ps -ef |grep java查看正在运行的进程10.杀死进程:kill -0 进程原创 2021-08-10 22:11:44 · 169 阅读 · 0 评论 -
性能测试-流程以及测试关注点
性能测试流程1.性能需求:评估性能测试点以及指标2.设计评审:明确性能测试点以及测试策略3.排期:确认整体的计划排期,制定各阶段的时间计划4.测试方案:评审性能测试方案5.环境准备:脚本编写;数据准备;测试执行;测试分析;环境部署6.测试执行,问题根据;输出报告性能测试关注点1.深入了解版本的改动点2.涉及到哪些服务3.对下游的营销4.如何触发改动点逻辑5.配置6.数据...原创 2021-08-10 22:10:14 · 219 阅读 · 0 评论 -
性能测试-主要分类;性能曲线模型;常用性能指标
性能测试的主要分类:1.负载测试:通过在被测系统上不断增加压力,直达系统的性能指标已经达到饱和状态2.压力测试:测试系统在一定饱和状态下处理请求的能力,以及是否出现错误等异常情况,也就是资源的极限测试3.并发测试:主要是多个用户同事访问同一个程序时是否存在死锁4.稳定性测试:通过给系统加载一定的业务压力的情况下,让程序持续运行,关注整体的运行情况性能曲线模型:主要分为轻压力区,重压力区,拐点区1.轻压力区(轻负载):随着用户数的增长,资源占用率和吞吐量会相应的增长,但是响应时间的变化不大2原创 2021-08-09 23:01:37 · 779 阅读 · 0 评论