![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能测试
文章平均质量分 80
小黑测试员
少一些功利主义的追求,多一些不为什么的坚持!
展开
-
Java诊断工具Arthas使用说明
Arthas 是Alibaba开源的Java诊断工具,Arthas支持JDK 6+,支持Linux/Mac/Windows,支持命令行交互模式、 Tab 自动补全功能,方便进行问题的定位和诊断。原创 2022-05-31 15:17:55 · 1999 阅读 · 0 评论 -
Grafana+influxdb采集jmeter压测指标数据
InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。原创 2022-03-03 21:18:15 · 2591 阅读 · 0 评论 -
Prometheus + Grafana + Node_Exporter系统指标监控平台搭建
组件简介Node Exporternode_exporter是一类数据采集组件的总称。Exporter负责从目标处搜集数据, 并将其转化为Prometheus支持的格式, 它开放了一个http接口(以便Prometheus来抓取数据). 与传统的数据采集组件不同的是, Exporter并不向中央服务器发送数据, 而是等待中央服务器(如Prometheus等)主动前来抓取。Prometheus · GitHub 有很多写好的exporter,可以直接下载使用。PrometheusPrometh原创 2022-03-02 22:43:07 · 2208 阅读 · 1 评论 -
缓存设计导致的问题测试要点总结
一、什么是缓存缓存实质就是一个临时的存储数据的容器。数据在这个容器中可以提高读取速度。二、缓存的分类缓存分为硬件缓存和软件缓存硬件缓存是位于CPU和内存之间的临时存储器软件缓存又分为内存缓存、数据库缓存、网络缓存内存缓存内存缓存的范围比较宽泛,这里只讨论RAM缓存即预先将数据写到容器(list,map,set)等数据存储单元中并将数据存储在RAM缓存中。一般应用设计中最常用的就是Redis。数据库缓存数据缓存是数据库本身的缓存,并不是外部缓存例如Redis/Memcache等等。数据库的原创 2021-08-15 11:59:09 · 702 阅读 · 0 评论 -
locust工具学习笔记(五)-FastHttpUser类、关联、参数化、检查点、集合点
locust工具学习笔记(五)FastHttpUser类locust的HTTP客户端默认是使用requests模块实现的,但是在大规模并发http请求时,requests模块并不是最优的实现,为了解决并发资源消耗问题,locust建议使用faster HTTP client的实现,它使用了geventhttpclient代替了requests. 它能提升5-6倍的并发量。使用方法就是用FastHttpUser代替HttpUser#使用HttpUserfrom locust import原创 2021-01-29 09:19:05 · 4195 阅读 · 1 评论 -
locust工具学习笔记(四)-SequentialTaskSet 类、event hooks
SequentialTaskSet 类在locust中用户(线程)执行任务是随机的,如果需要让任务执行有一定顺序则可以将taskset继承SequentialTaskSet 类来实现。写法一from locust import User,SequentialTaskSet,task,constantclass MyUserBe(SequentialTaskSet): wait_time = constant(1) @task def my_task1(self):原创 2021-01-24 14:19:57 · 1492 阅读 · 0 评论 -
locust工具学习笔记(三)-Tasks属性、tag修饰符、TaskSet类
locust工具学习笔记(三)虚拟用户数分配和权重的关系1、一个场景文件中如果定义多个用户类,用来对不同用户行为进行压测时,可以用weight属性来控制用户行为执行权重2、当用户权重不足1人时,则会被忽略(如果权重为5:1时如果启动3个用户,则配比是2.5:0.5,不足一人时用户行为2不会被执行)from locust import User, task, constantclass UserBehavior1(User): wait_time = constant(1) ..原创 2021-01-22 19:28:22 · 1341 阅读 · 0 评论 -
locust工具学习笔记(二)-Events事件、test_start和test_stop
Events事件locust包含了一个事件类,为不同的事件提供hook,事件处理函数注册该hook,基于event触发处理函数实现事件驱动。test_start和test_stop事件如果需要在负载测试开始或者结束后运行一段代码,则可使用test_start和test_stop事件,test_start和test_stop事件只在locust主节点中触发执行。from locust import events, task, constant, HttpUserfrom locust.ru原创 2021-01-20 14:49:36 · 2675 阅读 · 0 评论 -
locust工具学习笔记(一)-User类、@task装饰器
编写locustfile文件一份locustfile中,声明至少一个从该类继承的用户类User class(用户类)一个用户类别代表一个用户。locust将为每个正在模拟的用户生成User类的一个实例。User类可以定义一些公共属性。公共属性wait_time属性可选属性,用于模拟用户在执行任务之间等待指定的时间。 constant在固定时间内 between在最大值和最小值之间的随机时间 constant_pacing自适应时间,以确保任务每X秒运行一次原创 2021-01-15 10:03:54 · 1227 阅读 · 0 评论 -
性能测试学习总结
性能测试学习总结性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。一、性能测试中的指标所有的技术指标都是在有业务场景的前提下制定的。技术指标和业务指标之间也要有详细的换算过程。举个例子:论坛主要有以下几个功能点:注册、登录、发贴、浏览贴子、管理员可以单个或者多个的删除帖子,部分用户发贴需要经过审核才能在前台展现; 我们10万的活跃用户,每.原创 2020-11-05 18:50:42 · 739 阅读 · 1 评论 -
系统性能指标 (并发用户数、响应时间、及系统吞吐量)
一、并发用户数并发用户数,是软件系统性能需求与性能测试最常用、最重要的指标之一。它既包含了业务层面也包含后端服务器层面的两层含义。1.1、业务层面并发用户数业务层面的并发用户数,指的是实际使用系统的用户总数。但是,单靠这个指标并不能反映系统实际承载的压力,我们还要结合用户行为模型才能得到系统实际承载的压力。1.2、后端服务器层面并发用户数后端服务器层面的并发用户数,指的是“同时向服务器发送请求的数量”,直接反映了系统实际承载的压力。1.3、并发用户数对于性能测试在实际的性能测试中原创 2020-10-12 12:03:29 · 14933 阅读 · 0 评论 -
接口/UI/性能自动化项目实施总结
一、需求调研 分析被测系统的业务测试需求 确定适合开展的自动化测试类型(接口、UI) 确定项目的方向与目标/需要解决什么问题 确定项目最终期望达到的效果 二、框架/工具选型 根据被测系统业务测试需求及框架/工具的特点,选择合适的框架/工具 获取框架/工具相关学习文档进行学习加深对框架/工具的理解 选取的框架和工具需要至少满足80%的需求 选取的工具应该尽量易用,符合团队需求 三、搭建环境 根据所选框架/工具搭建相关的本地/原创 2020-09-03 16:31:07 · 260 阅读 · 0 评论 -
性能测试-性能诊断常见问题分析思路
宏观问题分析一、TPS小、RT小、资源利用率低RT小表明压力工具的压力不够或者是压力没有打打服务器,可能的原因如下:1、测试工具负载不够(可能是压力脚本本身的问题:参数化、用户数据、事务定义)2、负载受到某种限制没有打到服务器(网络、中间件、连接池)二、TPS小、RT大、资源利用低可能的问题点:1、脚本问题2、系统资源分配不合理(JVM只分配了很小一部分)3、负载机压力过大、无法输出有效压力4、系统问题、排查应用三、TPS小、RT大、资源利用率高...原创 2020-07-12 16:29:07 · 1203 阅读 · 0 评论