Jmeter性能优化方案

最近用jmeter测试并发出现了访问端口异常问题的排查及解决方案做一个归纳: 

背景:接口压测异常情况发生率达到了99%

        线上情况:

错误情况展示:

        

原因:

Jmeter里的http sample勾选了keep alive,导致会话一直保持,而windows本身的端口有限,导致端口被占用完后,无法分配新的端口,因此会产生java.net.BindException: Address already in use: connect 报错。

 

 解决方案一:

        

 解决方案二:

       解决方案: jmeter压测报:java.net.BindException: Address already in use: connect解决方法_菜菜de旺仔的博客-CSDN博客

 错误率直接降下来了:

并发情况下,异常率还是存在,继续优化:

       网关出现了一些熔断造成了异常率: 


# hystrix 配置
hystrix:command:default: #default全局有效,service id指定应用有效execution:timeout:enabled: trueisolation:strategy: SEMAPHOREthread:timeoutInMilliseconds: 60000 #断路器超时时间,默认1000msdataSqlConsoleHystrix: #sql工作台方法的超时时间 60sfallback:enabled: trueexecution:timeout:enabled: trueisolation:thread:timeoutInMilliseconds: 60000 #断路器超时时间,默认1000msdataApiMappingHystrix: #api调用方法的超时时间 60sfallback:enabled: trueexecution:timeout:enabled: trueisolation:thread:timeoutInMilliseconds: 60000 #断路器超时时间,默认1000msshareSecurityContext: true# 请求处理的超时时间
# 建议hystrix的超时时间为:(1 + MaxAutoRetries + MaxAutoRetriesNextServer) * ReadTimeout
ribbon:OkToRetryOnAllOperations: false #对所有操作请求都进行重试,默认falseReadTimeout: 10000 #负载均衡超时时间,默认值5000ConnectTimeout: 20000 #ribbon请求连接的超时时间,默认值2000MaxAutoRetries: 0 #对当前实例的重试次数,默认0MaxAutoRetriesNextServer: 3 #对切换实例的重试次数,默认1

解决方案:histrix熔断器timeoutInMilliseconds时间从10s调到了60s,ribbon最大重试次数调到3,异常错误为0

补充:在TCPTimedWaitDelay设置默认240s的时候存在问题,因为4分钟之内如果之前jmeter没跑完,那么端口还是被占用的状态,所以设置一个合理的值让其释放掉,30,60,可以再去测试一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14544.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统上线前,SQL脚本的9大坑

前言 系统上线时,非常容易出问题。 即使之前在测试环境,已经执行过SQL脚本了。但是有时候,在系统上线时,在生产环境执行相同的SQL脚本,还是有可能出现一些问题。 有些小公司,SQL脚本是开发自己执行的&am…

第47步 深度学习图像识别:SqueezeNet建模(Pytorch)

基于WIN10的64位系统演示 一、写在前面 (1)SqueezeNet SqueezeNet是一种轻量级的深度神经网络架构,由Iandola等人在2016年提出。这种模型的最大特点是参数量极少,仅有510千个参数,而且模型大小只有5MB,比…

MobileNeRF在Windows上的配置

MobileNeRF于2023年提出,源码地址:https://github.com/google-research/jax3d/tree/main/jax3d/projects/mobilenerf ,论文为:《MobileNeRF: Exploiting the Polygon Rasterization Pipeline for Efficient Neural Field Renderin…

步入JAVA——环境搭建与项目通览

前言 在这篇文章中,荔枝会介绍如何配置Java后端开发环境并借助一个Java web项目简单介绍一下Java的后端开发逻辑。与python的后端开发逻辑是类似的,Java的后端开发其实也是通过一个个类来实现的。对于像荔枝这种小白白来说,入门的第一个练手J…

GitHub快速上手--GitHub高效操作教程

一、前言 如果你正在看我的这篇文章,说明你已经对GitHub有了一些基础的了解,下面我们将详细叙述每一步的操作,以保证你能够快速上手GitHub,完成对代码的管理。 二、创建仓库 登录GitHub账号,点击页面右上角的加号&am…

idea创建web项目没有jsp选项,不识别jsp,没有tomcat选项

如果你的idea的web项目中没有jsp选项 同时也不识别jsp 那么建议你检查一下你的idea是否为社区版 如果是社区版那么没有jsp的问题无法解决,这只是无法识别,但是语句对的可以正常运行 解决这个问题建议换个idea 至于tomcat, 在plugins中搜s…

人工智能与Chat GPT

一本书全面掌握ChatGPT,既有向ChatGPT提问的技巧, 也有构建自己的ChatGPT模型的方法,涵盖开发背景、关联技术、使用方法、应用形式、实用案例等 人工智能是我们这个时代最热门的话题,人们既希望它能代替我们做一些工作&#xff0c…

Azure 中 Linux的时间同步问题

问题概述 Azure环境中,将群集主机放置在不同的可用区。由于网络限制比较严格没有开启外部或内部NTP时间同步,而是考虑用Azure主机的时间同步,但群集会由于时间差异而出现异常告警信息。 问题分析 问题主要是以下原因形成: 自…

Android Glide预加载RecyclerViewPreloader,ViewPreloadSizeProvider,kotlin

Android Glide预加载RecyclerViewPreloader,ViewPreloadSizeProvider,kotlin implementation com.github.bumptech.glide:glide:4.15.1implementation ("com.github.bumptech.glide:recyclerview-integration:4.14.2") {// Excludes the support library …

【新版系统架构】第十二章-信息系统架构设计理论和实践

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论第二章-计算机系统基础知识(一)第二章-计算机系统基础知识(二)第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…

python接口自动化(二十三)--unittest断言——上(详解)

简介 在测试用例中,执行完测试用例后,最后一步是判断测试结果是 pass 还是 fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert)。用 unittest 组件测试用例的时候,断言的方法还是很多的…

SpringBoot配置动态定时任务

1.配置ScheduledTask 主要是实现SchedulingConfigurer,动态传入cron。 package com.hzl.boot.config;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Propert…