服务器400错误的原因(400错误的解决方法)
admin
2023-03-30 12:21:44

问题背景:

还是之前做的某教育项目Web场景压测,通过对压力机端口资源的配置调优之后,单台压力机并发数可达到300,在此基础上逐渐加大并发,当并发数达到400时,部分接口出现概率性报错,且服务端无报错日志,Jmeter错误日志:

分析:根据Jmeter接口返回的错误日志,对压力机的其它参数做配置调优,发现调优效果并不显著,于是将问题原因定位到服务端,可能是服务端有较多请求正在处理(且处理时间较长),导致Jmeter不能连接上服务器而产生的。通过对服务端进行配置调优,单台压力机并发数可增加到500并发,下面给大家分享下我在解决此问题过程中对服务端做的几个调优项,刚入门的新手,欢迎大家交流指教。

方案:服务端的配置调优

调优项1、对web服务器系统的参数进行配置调优,修改/etc/sysctl.conf和/etc/security/limits.conf,具体修改如下:

在/etc/sysctl.conf文件末尾添加:

vm.swappiness= 0

net.ipv4.neigh.default.gc_stale_time=120

net.ipv4.conf.all.rp_filter=0

net.ipv4.conf.default.rp_filter=0

net.ipv4.conf.default.arp_announce= 2

net.ipv4.conf.all.arp_announce=2

net.ipv4.tcp_max_tw_buckets= 5000

net.ipv4.tcp_syncookies= 1

net.ipv4.tcp_max_syn_backlog= 1024

net.ipv4.tcp_synack_retries= 2

net.ipv4.conf.lo.arp_announce=2

net.ipv4.tcp_fin_timeout= 60

net.ipv4.tcp_tw_reuse= 1

net.ipv4.tcp_tw_recycle= 1

net.ipv4.tcp_syncookies= 1

net.ipv4.tcp_max_syn_backlog= 16384

net.ipv4.tcp_max_tw_buckets= 36000

net.ipv4.route.gc_timeout= 100

net.ipv4.tcp_syn_retries= 2

net.ipv4.tcp_synack_retries= 1


执行sysctl -p是配置生效

在/etc/security/limits.conf文件末尾添加:


* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535


执行service sshdrestart使配置生效

调优项2、将tomcat的server.xml 配置文件,将http连接池数调大,重启tomcat,继续进行压测

调优项3、对数据库的连接数进行调整,修改tomcat/conf/context.xml配置文件,新增 maxActive=”300″maxIdle=”30″ maxWait=”1000″,重启服务,保证配置生效

好了, 本次到此, 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注、转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向。

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...