400錯誤怎么解決 400錯誤原因



文章插圖
400錯誤怎么解決 400錯誤原因

文章插圖
問題背景:
還是之前做的某教育項目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″,重啟服務,保證配置生效
【400錯誤怎么解決 400錯誤原因】好了,本次到此,堅持的是分享,搬運的是知識,圖的是大家的進步,沒有收費的培訓,沒有虛度的吹水,喜歡就關注、轉發(免費幫助更多伙伴)等來交流,想了解的知識請留言,給你帶來更多價值,是我們期待的方向 。