dubbo是阿里開源的一款流行的分布式服務框架,有必要了解其常用調優引數:
引數名作用範圍預設值說明備註
threads
provider
200業務處理執行緒池大小
iothreads
provider
cpu+1
io執行緒池大小
queues
provider
0執行緒池佇列大小,當執行緒池滿時,排隊等待執行的佇列大小,
建議不要設定,當線程程池時應立即失敗,
重試其它服務提供機器,而不是排隊,除非有特殊需求
connections
consumer
0對每個提供者的最大連線數,
rmi、http、hessian等短連線協議表示限制連線數,
dubbo等長連線協表示建立的長連線個數
dubbo協議預設共享乙個長連線
actives
consumer
0每consumer每服務每方法最大併發呼叫數
0表示不限制
accepts
provider
0服務provider最大可接受連線數0表示不限制
executes
provider
0服務provider每服務每方法最大可並行執行請求數
0表示不限制
其中actives和executes限制引數通過activelimitfilter、executelimitfilter進行處理。
1.consumer呼叫時,統計服務和方法維度的呼叫情況,如果併發數超過設定的最大值,則阻塞當前執行緒,直到前面有請求處理完成
@activate(group = constants.consumer, value = constants.actives_key)
public class activelimitfilter implements filter catch (interruptedexception e)
long elapsed = system.currenttimemillis() - start;
remain = timeout - elapsed;
if (remain <= 0) }}
}}try catch (runtimeexception t)
} finally }}
}2.當連線數大於最大值時,關閉當前連線:
@override
public void connected(channel ch) throws remotingexception
super.connected(ch);
}3.provider處理請求時,統計方法維度的呼叫情況,如果併發數超過設定的最大值,則阻直接丟擲異常:
@activate(group = constants.provider, value = constants.executes_key)
public class executelimitfilter implements filter
}long begin = system.currenttimemillis();
boolean i***ception = false;
rpcstatus.begincount(url, methodname);
try catch (throwable t)
else
}finally
}
Dubbo 併發調優的幾個引數
消費端調優 一 connections 這個引數可以在服務提供端發布服務的時候配置,也可以在消費端引用服務的時候配置,但是這個值是只對消費端生效的,所以一般是服務提供端不建議配置,如果配置,請斟酌一下,詳情請檢視 對connections引數的設定 不管是在消費端或者服務提供端,如果對某個服務配置了...
dubbo引數調優說明 CSDN部落格
原創 2016年07月13日 22 28 50 在介紹引數之前,我們先了解下dubbo中配置的優先順序,以免出現調優引數設定了卻沒發現效果實際是配置被覆蓋導致這樣的問題。dubbo分為consumer和provider端,在配置各個引數時,其優先順序如下 1 consumer的method配置 2 ...
Dubbo 併發調優的幾個引數
消費端調優 size medium color green b 一 connections b color size 這個引數可以在服務提供端發布服務的時候配置,也可以在消費端引用服務的時候配置,但是這個值是只對消費端生效的,所以一般是服務提供端不建議配置,如果配置,請斟酌一下,詳情請檢視 對con...