sentinel入門


sentinel下載:sentinel-dashboard-1.8.1.jar

下載完成后進入sentinel-dashboard-1.8.1.jar的文件夾,在cmd中輸入java -jar sentinel-dashboard-1.8.1.jar

sentinel中文文檔

image-20210602211336991

輸入地址:http://localhost:8080/#/login

image-20210602212057143

用戶密碼均為sentinel

cloud2020項目中啟動cloudalibaba-sentinel-service8401模塊。該模塊既需要啟動nacos,也需要啟動sentinel。

我們調用模塊中testA接口,可有:

image-20210602212659601

實時監控

我們可以對該接口實時監控。我們可以用jmeter,模擬高並發請求。比如5秒鍾2000並發,我們看起狀態如何,在這5秒內,我們自己再去訪問testA接口,就會發現響應變慢了!

等會我們對他設置流控規則,還會看到在一段時間內,既有通過的QPS,也有拒絕的QPS,所畫出的曲線將會很有意思。

流控規則

既可以在簇點鏈路,也可在流控規則中設置。我覺得在簇點鏈路中設置更方便。

image-20210603200358062

閾值類型:QPS

image-20210603200731764

瘋狂訪問testA接口會出現:

image-20210603200815123

image-20210603200832301

我們可以看到每秒通過的請求只有3,被拒絕的請求那就得看我手速了(手速快拒絕的多,手速慢拒絕的少)

閾值類型:線程數

線程數,允許最多三個線程去執行,超過則拒絕,添加如下規則:

image-20210603202916569

我們對testA加上800ms的延遲

image-20210603203124607

image-20210603202634726

image-20210603202647322

我模仿20個線程去訪問testA接口,結果如下:

image-20210603202800025

一共20,在這兩個800ms中最多創建3個線程去執行testA接口,所以5+1一共完成6個請求,其余的都拒絕了。

流控規則:關聯

image-20210603205201358

當訪問testB的QPS超過30,則訪問testA失敗

image-20210603205146662

我們看20:51:04~20:51:07,testB的QPS都超過30,所以testA的訪問都拒絕了

20:51:08~20:51:10,testB我們停止訪問,testA的訪問都接受了

流控效果:warm up

image-20210603210257064

image-20210603210332948

可以看到,經過預熱,我們通過的QPS才慢慢提升的30

流控效果:排隊等待

image-20210603211033888

QPS為2時,每隔500ms允許通過下一個請求。

那么QPS為4時,每個250ms允許通過下一個請求

為10呢?那就是100ms嘍~

image-20210603211250265

每秒允許通過10個請求,如果請求等待時間超過1000ms則拒絕該請求

image-20210603212745172

image-20210603213235712

發送了200個請求,算是全走完了,共用時20s。

超時時間我設置了,但是不知道為啥沒用😢

降級規則

image-20210607204121214

慢調用比例

image-20210607225624946

對testD進行測試

image-20210607225655702

設置降級規則

image-20210607225729801

問題:無論最大RT設置成多少,QPS通過總能達到36(我覺得跟最小請求數有關,但是最小請求數我修改了沒用啊!!!改完人家又自己跳回到5了)。比例閾值設置成01之間,保存完再編輯打開,總是會自己跳到值1,我不知道這是不是bug。我是想不通啊。

而且關於postman和apipost這兩個軟件只能做串行阻塞的測試,沒有辦法做並發的測試!

這一點尚硅谷的周陽老師,還有csdn很多點贊的博客都寫錯了,不過評論區有人指出來了!

image-20210607230923249

那就這樣吧!!在愛都曲終人散了,那就這樣吧,在愛都無需掙扎~

熱點規則

image-20210608213240503

測試熱點規則,接受p1和p2參數,對此熱點接口可以QPS如果超過閾值,則去執行deal_testHotKey方法

image-20210608213425012

每秒請求超過1,則去返回deal_testHotKey方法的內容

image-20210608213620795

可精確到參數,比如對第一個參數(參數索引從0開始)

image-20210608214137022

image-20210608213733396

image-20210608214207953

image-20210608215531438

通過的總是一半一半,而且應該總和為250QPS,但是總和為500,不知為啥。可能跟jmeter的啟動線程方式有關系吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM