最近有遇到這樣一個問題: proxy伺服器(可以是LVS haproxy nginx),這裡以Ningx為例,在進(jìn)行prxoy叢集代理的時候,如何來判斷單一伺服器的連線處理能力呢? proxy伺服器load 頻寬cpu都無任何壓力,唯一可能有問題就是TCP連線問題:現(xiàn)在單一伺服器建立連線數(shù)到最高達(dá)8k,平時6.5k,Timeout最高2K,一般1.3K. 伺服器隨機(jī)連接埠開到61000.
埠與建立連線數(shù)應(yīng)該是無直接關(guān)係.但proxy類型的伺服器如何來決定他的並發(fā)處理能力呢?
請高手指點(diǎn).這個其中的關(guān)係?如何進(jìn)行容量的計算.多謝!!
你這個問題並不好解答,因為像Squid、Haproxy、Nginx、varnish這樣的反向代理軟體都可以同時支撐數(shù)萬的HTTP連接,而網(wǎng)路又牽涉到作業(yè)系統(tǒng)核心的配置,系統(tǒng)參數(shù)不同,可能支撐的連接數(shù)就不同。參數(shù)優(yōu)化得好,數(shù)量可能又會上升。
一般來說後端的運(yùn)算時間肯定比前端的回應(yīng)時間要久,如果後端支撐不了大並發(fā),再怎麼考慮前端代理的最大並發(fā)數(shù)也沒有意義。最好是透過介面將後端的負(fù)載傳給前端,讓前端進(jìn)行優(yōu)先權(quán)的分配。
你用一臺伺服器同時做代理和後端,考慮這類問題沒有什麼必要,一般都是多臺伺服器才考慮,畢竟前端還在運(yùn)作而後端無回應(yīng)的情況要多得多。