पर बंद हो जाती है मैं टीसीपी लोड संतुलन के लिए हैप्रोक्सी की कोशिश कर रहा हूं। कनेक्शन एक ही आईपी पर बंदरगाह एक्स में आते हैं, और HAPROxy तब कनेक्शन की संख्या को बनाए रखने के लिए "कम से कम" संतुलन विधि का उपयोग करके इन कनेक्शन को बैक-एंड तक बैलेंस करता है। यह उबंटू 10.04 x64 पर है।हैप्रोक्सी टीसीपी सत्र गिनती 400
मैंने कर्नेल कॉन्फ़िगरेशन में फ़ाइल-अधिकतम को 700,000 तक बदल दिया है। मैंने प्रति-प्रक्रिया उलिमिट को लगभग 400,000 तक बदल दिया है। मैंने haproxy कॉन्फ़िगरेशन में 200,000 तक maxconn चालू कर दिया है। यह इस maxconn ठीक देखने की रिपोर्ट करता है:
show info
Name: HAProxy
Version: 1.3.22
Release_date: 2009/10/14
Nbproc: 1
Process_num: 1
Pid: 1355
Uptime: 0d 4h38m46s
Uptime_sec: 16726
Memmax_MB: 0
Ulimit-n: 400013
Maxsock: 400013
Maxconn: 200000
Maxpipes: 0
CurrConns: 1113
PipesUsed: 0
PipesFree: 0
Tasks: 1113
Run_queue: 1
node: XXXXX
यह बैक-एंड सिस्टम में यह फ्रंट-एंड लोड-बैलेंस। हालांकि, जब यह प्रति बैक-एंड 400 सत्रों तक पहुंच जाता है, तो यह केवल सादा संतुलन रोकता है, और केवल अतिरिक्त कनेक्शन का निर्धारण कर रहा है। मैं इसे "smax" stat के साथ देख सकता हूं। आप देखेंगे कि प्रत्येक पर सत्र की अधिकतम संख्या 400 है, और सत्र की कुल अधिकतम संख्या 2000 है:
show stat
#
pxname,svname,qcur,qmax,scur,smax,slim,stot,bin,bout,dreq,dresp,ereq,econ,eresp,wretr,wredis,status,weight,act,bck,chkfail,chkdown,lastchg,downtime,qlimit,pid,iid,sid,throttle,lbtot,tracked,type,rate,rate_lim,rate_max,
protoa,FRONTEND,,,958,2000,2000,12624,6230219,6445523,0,0,0,,,,,OPEN,,,,,,,,,1,1,0,,,,0,0,0,406,
protoa,XXX1672,0,0,191,400,,3222,1249403,1286659,,0,,221,0,664,0,no check,1,1,0,,,,,,1,1,1,,2559,,2,0,,198,
protoa,XXX1674,0,0,192,400,,3106,1242103,1289247,,0,,178,0,535,0,no check,1,1,0,,,,,,1,1,2,,2572,,2,0,,171,
protoa,XXX1707,0,0,193,400,,3043,1266305,1305311,,0,,164,0,492,0,no check,1,1,0,,,,,,1,1,3,,2551,,2,0,,161,
protoa,XXX1782,0,0,189,400,,3046,1236790,1282690,,0,,204,0,619,0,no check,1,1,0,,,,,,1,1,4,,2429,,2,0,,190,
protoa,XXX1851,0,0,193,400,,3060,1235618,1281616,,0,,189,0,570,0,no check,1,1,0,,,,,,1,1,5,,2490,,2,0,,180,
protoa,BACKEND,0,0,958,2000,2000,12624,6230219,6445523,0,0,,956,0,2880,0,UP,5,5,0,,0,17645,0,,1,1,0,,12601,,1,0,,406,
protob,FRONTEND,,,4,6,2000,28,15204,15726,0,0,0,,,,,OPEN,,,,,,,,,1,2,0,,,,0,0,0,2,
protob,XXX1672,0,0,2,2,,5,2313,2322,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,1,,5,,2,0,,1,
protob,XXX1674,0,0,0,2,,5,3520,3803,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,2,,5,,2,0,,1,
protob,XXX1707,0,0,0,2,,8,3303,3214,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,3,,8,,2,0,,1,
protob,XXX1782,0,0,1,2,,5,3529,3745,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,4,,5,,2,0,,1,
protob,XXX1851,0,0,1,1,,5,2539,2642,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,5,,5,,2,0,,1,
protob,BACKEND,0,0,4,6,2000,28,15204,15726,0,0,,0,0,0,0,UP,5,5,0,,0,17645,0,,1,2,0,,28,,1,0,,2,
कहाँ इस सीमा से आ रही है? मैं वास्तव में इस haproxy उदाहरण में सैकड़ों हजारों कनेक्शन को तोड़ना चाहता हूँ। (मशीन में नेटवर्क, सीपीयू और रैम रखने के लिए है)
मुझे लगता है कि आपका उत्तर थोड़ा उलझन में है। आप कह रहे हैं "आप कमांड लाइन के अलावा प्रति प्रॉक्सी के डिफ़ॉल्ट अधिकतम # कनेक्शन को कॉन्फ़िगर नहीं कर सकते हैं" और यह भी कि ".cfg में 'सुनने' खंडों में से प्रत्येक को 'maxconn 200000' जोड़ना समस्या हल करता है", जो विरोधाभासी प्रतीत होता है । –
"प्रॉक्सी" और "सुनो" अलग हैं। दो अलग अधिकतमता हैं। वह भ्रम का पूरा स्रोत था। –