由于工作的需求,我一直在寻找与压力测试相关的内容,从我自己的Daoyun注释中。打开它后,我发现它还不错。Wen Hi之后,我对其进行了整理并与所有人共享。
对于这个问题,超过8年的工作,有超过6克的道notes,这是整个扫描的云烟。您仍然可以找到Struts的东西。
换句话说,如果我继续这样做,有一天,我可以成为Sima Qian,谁能成为IT行业?
我仍然记得,在工作开始时,压力测试根本没有成为一个话题。当时,该框架相对复杂。它与当前的Springboot有很大不同。在那种环境中,除大型公司外,压力测试自然不是该项目的主要考虑因素。
但是,运输时间,互联网的时代,信息的爆炸性输出,大数据和云时代,测试位置的重要性逐渐突出,相应的压力测试和性能测试也已成为项目的一部分。
如果Java程序员必须掌握主流技能,例如Springboot,SpringCloud,MQ,K8S等,则必须掌握主流技能以及您需要拥有的辅助技能。
为什么首先,并非所有公司都有一定的规模,拥有自己的测试团队,或者测试人员具有压力测试能力。相反,它并不感到惊讶并不奇怪。这在中国很普遍,这使网络交错。
我多年的工作经验告诉我,大多数程序员仍然活跃于中小型工厂。这包括初级和中级工程师,还包括从大型工厂到中小型工厂的高级工程师,出于各种原因。向下压力增长的原因,我大胆地判断未来的软件公司将朝着分散阶段发展。较小,更简化的公司团队将执行更大,更特殊的项目任务。这种现象将来会逐渐出现。
然后,如果您希望将来朝着高级工程师迈进,那么在这个团队中幸存下来的程序员将成为基本技能之一。只有在测试阶段重复的压力测试和优化最终才能更安全地进入生产环境更安全。可靠,客户部门将更加认识到这样的团队。
这就是为什么我专门发表了与Jmeter压力测试相关的文章的原因。我尝试了几种工具。我仍然觉得Jmeter的实用性更强,压力测试结果更可靠。
该安装实际上非常简单。为了促进演示,我将其直接安装在Windows上。在生产环境之后,它将讨论Linux安装。官方网站的相关地址如下。
1),官方网站:http://jmeter.apache.org/
2)下载:http://jmeter.apache.org/download_jmeter.cgi/
3)用户手册:http://jmeter.apache.org/usermanual/index.html
1.安装1),下载
2)减压后bin目录上的双击jmeter.bat。接口如下。
2.使用1),右键单击添加线程组的测试计划
线程组配置为查看图片中的红色字母描述
2)右键单击-ADD-CONFIGURATION ELEMENT-HTTP请求HTTP请求的默认值线程组的默认值,设置默认路径,然后在没有每个位置的情况下重写它。
3)右键单击HTTP请求线程组Add-Sampler-HTTP请求,并创建一个新的请求URL和参数以进行压力测试。
这里的参数是一个变量,变量名称稍后对应于配置文件,并以$ {xxx}之类的表格编写。
目的是模拟多个用户发出此请求,也就是说,有多个用户和多个令牌写给cookie,例如:
USERID1,USERTOKEN1
USURID2,USERTOKEN2
USURID3,USERTOKEN3
设置请求路径和变量,如图所示
4)模拟此处需要使用的多用户请求,右键单击-ADD-CONFIGURATION组件CSV数据集配置。
配置文件如下,设置一个ID并自己设置为代币,并在浏览器上找到使用。或使用程序生成数十万个用户ID,图令牌以模拟多用户访问。
5)查看压力测试结果后,您需要在执行压力测试后查看相关结果。右键单击ADD-Monitor-Aggregation报告。许多表,图表等通常都查看聚合报告。
集合报告在图中显示的吞吐量属性是指吞吐量,而先前的示例是请求。
含义:10,000个请求的吞吐量在300-400之间,这可以被普及到数百个并发性(对专业点的方便理解,通常不是那样)。它非常低,需要性能优化。
1.安装1),将Apache-Jmeter-3.3.3.zip上传到Linux服务器;
2)解压缩xx.zip进行解压缩;
3)如果找不到UNZIP命令,则可以执行YUM安装-YMZIP ZIP安装。
2.创建一个新的电压测试文件1)创建一个新的压力测试文件:例如user_list.jmx,设置线程组5000中的线程数,周期数为10,这意味着执行50,000次;
2)将此文件上传到Linux服务器;
3)构建新压力测试文件JMX的具体方法是指以前的说明。
3.执行压力测试1)在同一级别上执行命令:https://www.shouxicto.com/article/Article/apache-jmeter-3.3/bin/jmeter.sh-t user_list.jmx-l result.jtl result.jtl
2)启动用于压力测试的jmeter,并在压力测试后的结果输出。
4.观察现象在执行过程中,您可以打开另一个窗口以执行顶部命令以查看服务器的负载。(主要查看红色框,以及以下过程中的Java,您会发现负载负载已经变得很大,CPU职业也很高。)
5.导出结果1),下载result.jtl到本地环境,然后转到Jmeter,浏览和打开的总报告,请参阅结果;
2)可以发现吞吐量非常不满意。当Linux服务器较低时,错误很高,表明该应用程序很难直接携带。
6.压力测试的建议1),压力测试不能依赖一个判断,通常第一次只是温暖 - 第三和第三压力测试受到;
2)在工作时间或高峰期间不要进行压力测试。这是一种非常危险的行为。最好的时期必须是在测试阶段。只能在生产环境中选择少数特殊情况。
3)执行性能优化后,可以像以上一样执行压力,然后可以将聚合报告导出以进行比较,直到达到理想的结果为止。
实际上,压力测试本身并不困难,并且有许多工具和压力测试方法。例如,REDIS具有自己的压力测试工具Redis基准测试,而Apache基准为AB,即Apache自压测试工具。这些使用方法非常简单。
压力测试是迈向高级工程师的技能之一,尤其是对核心业务界面的压力测试非常常用。在测试阶段需要压缩正式项目。当然,如果公司有一个测试团队,最好最好拥有一个测试团队。如果工程师达到目标,您将不知道测试技能,但是您一定不能理解。
一开始,这是在8年 - 作品和研究中记录的云说明中记录的内容之一。实际上,我的业余时间里有很多人。有兴趣的朋友可以下载它。它可以节省大量时间打开它。
链接:https://pan.baidu.com/doc/share/flr0qypyxmwsrpbnjrw-1028798581759
提取代码:BXAA
我的原始文章是纯粹的手,专注于共享主流技术和实际工作经验。如果您认为如果您有一滴帮助,请喜欢并收集它!
原始:https://juejin.cn/post/7098531945021177870