伺服器400錯誤的原因:400錯誤的解決方法

問題背景:

還是之前做的某教育項目Web場景壓測,通過對壓力機埠資源的配置調優之後,單台壓力機並發數可達到300,在此基礎上逐漸加大並發,當並發數達到400時,部分介面出現概率性報錯,且服務端無報錯日誌,Jmeter錯誤日誌:

jmeter日誌報錯與並發400,如何解決?

分析:根據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,繼續進行壓測

jmeter日誌報錯與並發400,如何解決?

調優項3、對資料庫的連接數進行調整,修改tomcat/conf/context.xml配置文件,新增 maxActive=”300″maxIdle=”30″ maxWait=”1000″,重啟服務,保證配置生效

jmeter日誌報錯與並發400,如何解決?

好了, 本次到此, 堅持的是分享,搬運的是知識,圖的是大家的進步,沒有收費的培訓,沒有虛度的吹水,喜歡就關注、轉發(免費幫助更多夥伴)等來交流,想了解的知識請留言,給你帶來更多價值,是我們期待的方向。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/218730.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 00:32
下一篇 2024-12-09 00:32

相關推薦

發表回復

登錄後才能評論