• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統計

            最新評論

            Linux kernel scaling: Ports and port Cycling --- 轉(http://blog.csdn.net/zgl_dm/article/details/6593661)

            NOTE: The content of this article is subject to change as we are still investigating the issue While attempting to benchmark redis a coworker (Kal McFate) and I were hitting a 28k limit on concurrent connections from a client machine to our redis server. After investigating we found the following: The default setting for the ephemeral port range on linux (net.ipv4.ip_local_port_range) is not ideal for scale. Default: 32768-61000 Recommended for scale: 1025-65000 Additionally even after changing this setting we were limited by sockets staying open in the TIME_WAIT state. Most of the poor documentation on the internet suggests setting the following in order to address the issue: net.ipv4.tcp_tw_recycle = 1 and net.ipv4.tcp_tw_reuse = 1 This is in fact incorrect. First you should choose one setting or the other not both. tcp_tw_recycle should be considered unsafe for load balancers and other customer facing devices that communicate over a higher latency network and or utilize failover services. This is due to the fact that TIME_WAIT is required in order to deal with packets that arrive for a connection after the same packet has been previously accepted via a retransmit. Setting net.ipv4.tcp_tw_reuse = 1 appears to have resolved our issue. This has passed the limiting factor from the client to the redis server. This issue is difficult to debug due to the fact that while incoming port exhaustion (socket -> accept) will produce a kernel level logged error, ephemeral local port exhaustion creates an application level rather generic could not connect error. We are now investigating other areas this change might benefit! A better solution as far as client -> redis communication is concerned is probably pipelining requests via a single persistent connection. We are looking into this as well. UPDATE: Data is still applicable to concurrency issues, however the root cause here ended up being that the client code was throwing the socket away before properly hanging up on the server. So the socket was left in TIME_WAIT until the timeout period expired. LESSON: When it comes to sockets in TIME_WAIT the issue is most likely caused by crappy TCP socket handling Additionally enabling net.ipv4.tcp_tw_reuse on a development system may cover up poorly implemented protocol and TCP socket level handling :/ http://www.lakitu.us/2011/04/linux-kernel-scaling-ports-and-port-cycling/

            posted on 2013-02-18 09:51 大龍 閱讀(336) 評論(0)  編輯 收藏 引用

            Xx性欧美肥妇精品久久久久久 | 久久久久亚洲av综合波多野结衣| 久久综合九色综合欧美狠狠| 亚洲国产精品久久久久网站| 久久久91人妻无码精品蜜桃HD| 亚洲天堂久久久| 精品久久久久久中文字幕人妻最新| 国内精品久久久久影院日本| 精品欧美一区二区三区久久久| 久久综合亚洲色HEZYO社区| 99久久99这里只有免费的精品| 精品国产乱码久久久久久浪潮| 性欧美丰满熟妇XXXX性久久久| 国内精品免费久久影院| 欧美亚洲色综久久精品国产| 久久综合狠狠综合久久97色| 狠狠色丁香婷婷综合久久来| 久久综合亚洲鲁鲁五月天| 久久亚洲2019中文字幕| 久久国产精品-国产精品| 亚洲午夜久久久久妓女影院| 精品国产热久久久福利| 香港aa三级久久三级| 国产成人精品久久一区二区三区 | 久久久久人妻一区二区三区| 99久久婷婷国产综合亚洲| 精品伊人久久久| 亚洲国产精品成人久久蜜臀| 久久精品国产免费| 久久久女人与动物群交毛片| 色婷婷久久综合中文久久一本| 国产精品伦理久久久久久| 美女写真久久影院| 欧美亚洲另类久久综合| 久久亚洲国产精品一区二区| 久久精品九九亚洲精品天堂| 热99re久久国超精品首页| 99精品伊人久久久大香线蕉| 97精品国产97久久久久久免费| 99久久亚洲综合精品网站| 2021国产成人精品久久|