2017-05-22 17 views
9

में प्रति बैकएंड अधिकतम सीमा सीमा हमारे हैपरॉक्स लोडबैंसर अपने बैकएंड पर हजारों कनेक्शन खोलता है, भले ही इसकी सेटिंग्स प्रति सर्वर उदाहरण (नीचे देखें) से 10 से अधिक कनेक्शन खोलने के लिए कहती है। जब मैं बैकएंड कनेक्शन ड्रॉप की संख्या "विकल्प http-server-close" को अनमोल करता हूं, हालांकि मैं रख-रखाव बैकएंड कनेक्शन रखना चाहता हूं।हैप्रोक्सी

क्यों maxconn http-keep-alive के साथ सम्मानित नहीं है? मैंने ss के साथ सत्यापित किया है कि खुले बैकएंड कनेक्शन ESTABLISHED राज्य में हैं।

defaults 
    log global 
    mode http 
    option http-keep-alive 
    timeout http-keep-alive 60000 
    timeout connect 6000 
    timeout client 60000 
    timeout server 20000 


frontend http_proxy 
    bind *:80 
    default_backend backends 

backend backends 
    option prefer-last-server 

    # option http-server-close 
    timeout http-keep-alive 1000 
    server s1 10.0.0.21:8080 maxconn 10 
    server s2 10.0.0.7:8080 maxconn 10 
    server s3 10.0.0.22:8080 maxconn 10 
    server s4 10.0.0.16:8080 maxconn 10 
+0

कृपया आप haproxy -vv धन्यवाद के आउटपुट पेस्टबिन कर सकते हैं। हो सकता है कि आपने एक बग बग मारा है http://www.haproxy.org/bugs/ – Aleksandar

उत्तर

1

रखें जिंदा मोड निष्क्रिय कनेक्शन में जिम्मेदार नहीं हैं। जैसा कि इस HAProxy mailthread

बात है में बताया गया है, आप नहीं सर्वर निष्क्रिय कनेक्शन की एक टन है एक सर्वर की कतार में इंतजार कर अनुरोध छोड़ना चाहते हैं।

यह और भी समझ में आता है कि ब्राउज़र पेज प्रदर्शन को बेहतर बनाने के लिए प्रीकनेक्ट शुरू करता है। तो जीवित मोड में केवल बकाया/सक्रिय कनेक्शन खाते में लिया जाता है।

तुम अब भी maxconn सीमा कनेक्शन राज्य टीसीपी मोड का उपयोग कर, विशेष रूप से है कि मैं अपने वर्तमान विन्यास में मोड http का उपयोग करने के लिए एक विशेष कारण नहीं दिख रहा है की परवाह किए बिना (अलग reacher लॉग होने से) लागू कर सकते हैं।
या आप निम्नतम समवर्ती कनेक्शन प्राप्त करने के लिए http मोड के साथ http-reuse का उपयोग कर सकते हैं।

संबंधित मुद्दे