php - 无法在过度访问者中连接 Memcached

标签 php centos memcached centos7 disconnect

我在 Centos 7 上使用 Php 和 Memcache。Memcache 没有日志文件,但在 mysql 上创建了 memcache 连接状态。

$memcache = new Memcache;
$ip = getenv('REMOTE_ADDR');
if(!($memcache->connect('localhost', 11211))){
    $date_er= date('Y-m-d H:i:s');
    mysql_query("insert into memcacheerror (date_er,ip) values('$date','$ip')") or die(mysql_error());
}

当我现在查看表格时,大约有 953 个连接未连接,大约 ~5 小时..

Memcache 状态日志 -> watch "echo stats | nc 127.0.0.1 11211"

STAT pid 12939
STAT uptime 60708
STAT time 1489228368
STAT version 1.4.15
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 49.208000
STAT rusage_system 181.028000
STAT curr_connections 10
STAT total_connections 1510442
STAT connection_structures 83
STAT reserved_fds 20
STAT cmd_get 2578565
STAT cmd_set 3716
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 2574844
STAT get_misses 3721
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 76806965
STAT bytes_written 17519935942
STAT limit_maxbytes 2147483648
STAT accepting_conns 1
STAT listen_disabled_num 0

内存缓存配置文件

PORT="11211"
USER="memcached"
MAXCONN="5024"
CACHESIZE="2048"
OPTIONS=""

我该如何解决这个问题?解决办法是什么 ?现在真的很感谢你。

最佳答案

我解决了这个问题。解决方案增加sysctl nf_conntrack_max。

检查最大值和当前值

cat/proc/sys/net/netfilter/nf_conntrack_max

cat/proc/sys/net/ipv4/netfilter/ip_conntrack_count

最后,增加 nf_conntrack_max 值。

echo "556546">/proc/sys/net/netfilter/nf_conntrack_max

关于php - 无法在过度访问者中连接 Memcached,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42734317/

相关文章:

php - 如何处理解析和 fatal error ?

javascript - 将 jQuery 变量发布到同一文件并使用 PHP 接收

docker - Centos docker-compose 显示退出代码 0 但它仍然没有运行

mysql - 哪些 Hibernate 查询会命中第二层缓存?

php - 比较两个 PHP 报告之间的差异

php - PHP中的TCP/套接字,撑起我的线程?

nosql - WSO2 DSS 是否支持 Memcache 和 Redis?

java - 在应用程序引擎 Memcache (java) 中存储不太重要的复杂数据结构以进行 session 间交互的示例

node.js - 如何使用 AWS EBextensions 编译 Vue Js 组件?

installation - 在没有 root 权限的情况下安装 liblapack? (试图让 Armadillo /Lapack/Blas 工作)