zoukankan      html  css  js  c++  java
  • php连接memcahed出现Cannot assign requested address (99)的解决方法

      今天在将服务器合并后,发现php偶尔会报出 Server *.*.*.* (tcp *****) failed with: Cannot assign requested address (99) 的错误,开始怀疑是由于memcached服务器无法处理过多的请求,查看memcached服务器并未发现异常。在网上查到了问题的分析和解决方法。

    问题分析:

    客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端 口号,所以新的连接没办法绑定端口,即“Cannot assign requested address”。是客户端的问题不是服务器端的问题。通过netstat,的确看到很多TIME_WAIT状态的连接。
    可见问题不在于server端,而是client端频繁建立连接,而端口释放较慢,导致建立新连接时无可用端口。

    解决方法:
    执行命令修改如下2个内核参数 (需要root权限)  sysctl -w net.ipv4.tcp_timestamps=1  开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用 sysctl -w net.ipv4.tcp_tw_recycle=1  表示开启TCP连接中TIME-WAIT sockets的快速回收

    原帖地址:http://blog.csdn.net/mmbl007/article/details/7446970

  • 相关阅读:
    1:4 UI标签和通用标签
    1:3访问 servlet API 的两种方式(request,session等内置对象)
    1 :2 Strust2—Demo
    1:1 Struts2概述
    mysql索引原理与慢查询优化1
    mysql流程控制
    mysql函数
    mysql存储过程
    mysql事务
    mysql触发器
  • 原文地址:https://www.cnblogs.com/phpnow/p/3279017.html
Copyright © 2011-2022 走看看