Php &引用;“拒绝连接”;Redis上的错误

Php &引用;“拒绝连接”;Redis上的错误,php,linux,redis,Php,Linux,Redis,我在局域网上有一个正在运行的Redis实例(v2.8),它可以通过局域网IP和本地主机工作和访问。问题是我们从客户端收到随机的“拒绝连接”错误。他们成功了很多次,但失败经常发生 Redis中没有错误。它没有报告任何被拒绝的连接,所以我倾向于相信这是Linux中的东西。请参见下面的输出: info # Server redis_version:2.8.0 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:8c972dc122b48b0

我在局域网上有一个正在运行的Redis实例(v2.8),它可以通过局域网IP和本地主机工作和访问。问题是我们从客户端收到随机的“拒绝连接”错误。他们成功了很多次,但失败经常发生

Redis中没有错误。它没有报告任何被拒绝的连接,所以我倾向于相信这是Linux中的东西。请参见下面的输出:

info
# Server
redis_version:2.8.0
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:8c972dc122b48b0
redis_mode:standalone
os:Linux 3.2.0-56-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.6.3
process_id:32455
run_id:c2536f78b7277e44bb03d1872bb0ede6764bd719
tcp_port:6379
uptime_in_seconds:531319
uptime_in_days:6
hz:10
lru_clock:204248
config_file:/etc/redis/redis.conf

# Clients
connected_clients:11
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:20166048208
used_memory_human:18.78G
used_memory_rss:20565544960
used_memory_peak:20171368288
used_memory_peak_human:18.79G
used_memory_lua:33792
mem_fragmentation_ratio:1.02
mem_allocator:jemalloc-3.4.1

# Persistence
loading:0
rdb_changes_since_last_save:548
rdb_bgsave_in_progress:0
rdb_last_save_time:1386162582
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:142
rdb_current_bgsave_time_sec:-1
aof_enabled:1
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:104
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_current_size:10938614211
aof_base_size:5791948107
aof_pending_rewrite:0
aof_buffer_length:0
aof_rewrite_buffer_length:0
aof_pending_bio_fsync:0
aof_delayed_fsync:4616

# Stats
total_connections_received:1024359
total_commands_processed:500283574
instantaneous_ops_per_sec:88
rejected_connections:0
sync_full:1
sync_partial_ok:5
sync_partial_err:0
expired_keys:79
evicted_keys:0
keyspace_hits:225004198
keyspace_misses:17265265
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:294076

# Replication
role:master
connected_slaves:1
slave0:ip=192.168.0.203,port=6379,state=online,offset=13777559286,lag=1
master_repl_offset:13777559286
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:13776510711
repl_backlog_histlen:1048576

# CPU
used_cpu_sys:4233.39
used_cpu_user:5293.61
used_cpu_sys_children:5679.02
used_cpu_user_children:115598.34

# Keyspace
db0:keys=73514342,expires=10,avg_ttl=39196243
我只看到大约50个并发连接偶尔出现突发,所以我认为我没有达到任何文件描述符限制。我已经将软限制提高到90000个描述符。sysctl fs.file-max设置也非常高

sysctl fs.file-max
fs.file-max = 1622320
我们的100Mb/s局域网线路没有饱和。那么问题是什么呢?我们不断收到用户抱怨“连接被拒绝”错误的通知单。

检查您的“绑定”配置

可能仅限于本地主机,您必须打开网络。 在您的配置文件中:

bind * 
# instead of bind 127.0.0.1

我有一个非常相似的问题。对我来说,问题在于我的redis实例只监听ipv4地址,而我的应用程序连接到主机名(
localhost
)解析为ipv4和ipv6地址。只要应用程序使用ipv4地址,它就会工作。但是,当它使用ipv6地址时,它给出了
连接拒绝
错误


要解决此问题,请将redis配置为同时侦听ipv4和ipv6地址,或者将应用程序配置为使用ipv4地址而不是主机名。

redis日志是否未显示任何错误?输出缓冲区限制或查询缓冲区限制如何,是否可能达到这些限制?你的客户端建立什么类型的连接,同步的还是异步的?你可以发布你的redis吗。conf@Nik-否日志中未显示任何错误。如何检查是否达到输出/查询缓冲区限制。所有连接都是同步的。@Adil您找到这个问题的解决方案了吗?你的问题听起来和我的很相似,我找不到解决方案。我已经将它绑定到本地主机和LAN IP。它可以通过局域网访问,我经常在应用程序日志中看到“拒绝连接”错误。这是一个有用的答案。我手边再也没有安装程序了,所以我无法验证这是否是原始问题。虽然我不记得设置ipv6,因为我们的服务器数量有限。