初学Redis发现有两个配置参数,一个是 maxClients ,默认 10000;
一个是 tcp-backlog 默认为 511;
第一个解释说最大客户端连接数,第二个解释说 TCP 连接数。冒昧问一下客户端应该都是通过TCP连接到服务端的,难道 10000个客户端中有些都是共用同一个TCP连接,否则 511 怎么就到了 10000呢?
还有就是为什么Jedis设置的默认连接数是 8 个,这个和 10000差距太大了,单例Redis下多少连接合适呢?
哪位大神帮帮忙
初学Redis发现有两个配置参数,一个是 maxClients ,默认 10000;
一个是 tcp-backlog 默认为 511;
第一个解释说最大客户端连接数,第二个解释说 TCP 连接数。冒昧问一下客户端应该都是通过TCP连接到服务端的,难道 10000个客户端中有些都是共用同一个TCP连接,否则 511 怎么就到了 10000呢?
还有就是为什么Jedis设置的默认连接数是 8 个,这个和 10000差距太大了,单例Redis下多少连接合适呢?
哪位大神帮帮忙
你理解错了。backlog并不是TCP最大连接数,而是和accept队列有关,可以理解为进程还没有accept的TCP连接的队列,如果accept了,就不在这个队列里了。