併發測試,對外介面測試50個併發的時候開發報錯,報錯資訊類似如下:
hystrix:command:
default:
execution:
timeout:
enabled: true
isolation:
strategy: thread
semaphore:
maxconcurrentrequests: $
thread:
timeoutinmilliseconds: $
threadpool:
default:
## 併發執行的最大執行緒數,預設10
coresize: $
## blockingqueue的最大佇列數
maxqueuesize: $
## 即使maxqueuesize沒有達到,達到queuesizerejectionthreshold該值後,請求也會被拒絕
queuesizerejectionthreshold: $
1:hystrix的連線線程池限制
## 併發執行的最大執行緒數,預設10coresize: $
## blockingqueue的最大佇列數
maxqueuesize: $
## 即使maxqueuesize沒有達到,達到queuesizerejectionthreshold該值後,請求也會被拒絕
queuesizerejectionthreshold: $
2:hystrix的超時設定
併發大的情況下,響應時間會很長,hystrix的預設超時時間是3秒內,故也會報介面錯誤問題
調整
timeoutinmilliseconds: 30000除了hystrix的超時設定之外,還有ribbon超時設定
四,其他方案
1: 介面增加快取
2: 介面呼叫優化,重複呼叫的介面考慮優化
Spring Cloud 併發調優
測試介面 登入 鏈路呼叫 nginx zuul server servicea,serviceb,servicec,serviced 因為登入介面牽涉到一系列的加密校驗 許可權角色 賬號密碼驗證,所以 zuul server 路由之後,會呼叫很多個微服務來獲取使用者資訊。伺服器的話都是用docker...
SpringCloud高併發效能優化
當系統的使用者量上來,每秒qps上千後,可能就會導致系統的各種卡頓,超時等情況,這時優化操作不可避免 第一步 優化大sql,對於多表關聯的sql,當單錶資料幾百上千萬行時,執行可能會達到好幾秒,對微服務系統來說,我是不建議join多表操作,除非是資料量少的維表,我們可以將一句大sql拆分成多個過程,...
併發測試集合點測試併發
併發測試集合點 定時器下的synchronizing timer number of simulated users to group by 集合多少人後再執行請求 timeout in milliseconds 指定人數 多少秒沒集合到算超時 設定延遲時間以毫秒為單位 注意 如果設定timeout...