瘋狂創客圈 Java 高並發【 億級流量聊天室實戰】實戰系列 【博客園總入口 】
瘋狂創客圈(筆者尼恩創建的高並發研習社群)Springcloud 高並發系列文章,將為大家介紹三個版本的 高並發秒殺:
一、版本1 :springcloud + zookeeper 秒殺
二、版本2 :springcloud + redis 分布式鎖秒殺
三、版本3 :springcloud + Nginx + Lua 高性能版本秒殺
以及有關Springcloud 幾篇核心、重要的文章:
二、Springcloud 中 SpringBoot 配置全集 , 收藏版
三、Feign Ribbon Hystrix 三者關系 , 史上最全 深度解析
四、SpringCloud gateway 詳解 , 史上最全
五、圖解:tomcat的maxConnections、maxThreads、acceptCount | 秒懂
前言
如果需要在JMeter通過http長連接發送請求,首先需要選擇了Use KeepAlive 長連接協議,雖然默認是勾選的,但也需要確認一下。
除了選擇了Use KeepAlive 長連接協議,還需要在Advanceed高級選項面板,選擇HttpClient4類型的HttpRequest請求實現。
在即使選擇了Use KeepAlive 長連接協議,還選擇了HttpClient4類型的HttpRequest請求外,還差一步:需要配置JMeter.properties中的時間空閑等待時間,設置默認為0,默認情況下,不會對長連接進行空閑等待,一旦連接空閑,則立馬斷開了,這也是導致大家壓測中出現了失敗的一種情形。所以,需要進行空閑等待時間的修改,這個時間,建議盡量和后端服務器的空閑等待時間保持一致。
具體的修改辦法是:在jmeter.property文件,找到 httpclient4.idletimeout 空閑等待時間選項,進行合適的修改即可。由於前面使用了60s,所以在這里修改為 60000ms,也就是60s。
改完后,要使得修改生效的話,還需要重啟一下jmeter。再一次啟動高並發測試,與之前的結果進行對比,可以發現:修改完成之后,會發現錯誤率顯著的下降,1000個線程每個請求10次,錯誤率直接0%。這個結果,對比沒有修改之前30%以上的錯誤率,提升的效果還是非常顯著的,所以,建議大家去試一試。
最后,介紹一下瘋狂創客圈:瘋狂創客圈,一個Java 高並發研習社群 【博客園 總入口 】
瘋狂創客圈,傾力推出:面試必備 + 面試必備 + 面試必備 的基礎原理+實戰 書籍 《Netty Zookeeper Redis 高並發實戰》
瘋狂創客圈 Java 死磕系列
- Java (Netty) 聊天程序【 億級流量】實戰 開源項目實戰
- Netty 源碼、原理、JAVA NIO 原理
- Java 面試題 一網打盡
- 瘋狂創客圈 【 博客園 總入口 】