1、应用程序会发起多少个请求连接?
1)对于php程序,以短连接为主。redis的连接数等于:所有web server接口并发请求数/redis分片的个数。
2)对于java应用程序,一般使用JedisPool(实现上是组合了apache common-pools),而连接池在jvm里面共享的(一个进程一个jvm)。
redis的连接数计算:应用程序的个数(tomcat) * 连接池的大小(假设pool都一样大)/ redis分片的个数。
有时为了保证请求快速得到响应,保持一定的空闲连接(setMinIdle)。

下面的配置中,在连接池饱和状态,最多有90个连接数(MaxTotal-MinIdle),保持10个空闲连接。
JedisPoolConfig config = new JedisPoolConfig();
                        config.setMinIdle(10);
                        config.setMaxTotal(100);              
                        config.setMaxWaitMillis(1000L);
                        config.setTestOnBorrow(true);
jedispool的推荐设置的参数:
(1)setMinIdle,保留一定的空闲连接池对象;
(2)setTestOnBorrow设置为true,每次从连接池中获取连接时,检查连接的有效性。
(3)setMinEvictableIdleTimeMillis,设置淘汰空闲连接的最小时间。
(4)连接池的大小不要设置过大,导致redis需要维持很多连接对象。

2、redis的连接数限制是多少?
在 Redis2.4 中,最大连接数是被直接硬编码在代码里面的,而在2.6版本中这个值变成可配置的。maxclients 的默认值是 10000
redis默认最多允许10000个连接。默认的1w个够用么?
redis如果每秒保持1w个连接,每个链接每秒执行1000个请求。每秒1000w的请求,这时候redis的cpu已经成为了性能瓶颈。
所以下面的测试结果显示,在6w的并发连接数情况下,qps只有5w。单个redis请求响应时间超过了1s。
经验而言,对于php程序而言,当1w个连接数占满了时候,实际上cpu已经出现了性能瓶颈。
还有另外两种状况。
1)慢查询引起,很多请求等待响应。     
2)php程序运行时间很长,且程序中没有主动关闭连接,处于空闲状态。
java程序一般是用连接池和长连接,如果redis有大量的连接,那么连接池的太大,且处于活动或者有效状态的连接很多。
解决方案是:1)减小连接池的大小。2)加快空闲连接对象的回收速度。
总结而言,redis连接数过大原因归结于两点:
1)redis处理能力不足,大量请求处于等待状态。不管是请求过多还是慢查询。
2)客户端的连接对象没有及时释放。不管是应用程序主动释放还是连接池没有及时回收。
既然知道原因,也就知道解决方案。借用别人的一句话,发现问题所在是最关键的。
目前php程序还没有碰到过大连的请求连接的问题,而Java程序已经碰到过多次。
 
3、连接数对redis有什么性能的影响?
在250一下的并发连接数情况下,redis的处理能力几乎一致。而随着并发连接数增加,处理能力反而下降。redis的单线程处理方式决定了,redis只能串行的处理客户端请求。

redis连接数的更多相关文章

  1. redis连接数问题

    redis连接数查看 info client redis连接数满了,不会继续建立连接. 造成redis连接数满了原因有很多. 1.建立新连接不close()的话redis连接不会回归连接池. 显示所有 ...

  2. 查看redis连接数

    在redis-cli命令行使用:info clients可以查看当前的redis连接数. 如下图: config get maxclients 可以查询redis允许的最大连接数. 如下图:

  3. 压测过程中,获取不到redis连接池,发现redis连接数高

    说明:图片截得比较大,浏览器放大倍数看即可(涉及到隐私,打了码,请见谅,如果有疑问,欢迎骚扰). 最近在压测过程中,出现获取不到redis连接池的问题 xshell连接redis服务器,查看连接数,发 ...

  4. redis连接数高居不下,怎么破?。。。。这么破

    最近项目一直在使用redis,首次用redis,随便从网上找了例子就用了,一开始用的还挺正常,后来发现,当客户端访问量一上来,redis的连接数居高不下,一开始以为是客户端没有关闭,开始怀疑redis ...

  5. RedisTemplate连接不释放、Redis断线不重连问题、Redis连接数高飙升

    使用RedisTemplate操作Redis数据,但遇到网络断线后不会重新连接 毫无头绪 一顿捣鼓 最终解决 整理如下 帮助更多的人 1.起因 使用RedisTemplate 配置 开启了事务 ena ...

  6. redis客户端连接,最大连接数查询与设置

    ##redis客户端连接数 redis通过监听一个TCP端口或socket的方式接收来自客户端的连接, 当与客户端建立连接后,redis内部会进行如下操作:()客户端socket会被设置为非阻塞模式, ...

  7. [转]细说Redis监控和告警

    原文  https://zhuoroger.github.io/2016/08/20/redis-monitor-and-alarm/? 对于任何应用服务和组件,都需要一套完善可靠谱监控方案. 尤其r ...

  8. redis其他问题

    如何解决redis高并发客户端频繁time out? 现在业务上每天有5亿+的请求,平时redis的操作在2K+每秒左右.到了高峰有3K+,这时候客户端就会频繁的报connect time out的异 ...

  9. 做个简单的Redis监控(源码分享)

    Redis监控 Redis 是目前应用广泛的NoSQL,我做的项目中大部分都是与Redis打交道,发现身边的朋友也更多人在用,相对于memcached 来说,它的优势也确实是可圈可点.在随着业务,数据 ...

随机推荐

  1. 【hadoop】——HDFS解压缩实现

    转载请注明出处:http://www.cnblogs.com/zhengrunjian/p/4527220.html 所有源码在github上,https://github.com/lastsweet ...

  2. python基础(一)

    简单的‘Hello World!’ Python命令行 假设你已经安装好了Python, 那么在Linux命令行输入: $python 将直接进入python.然后在命令行提示符>>> ...

  3. 虚拟机centos6.5 --安装jdk

    1.首先卸载默认安装的openjdk,如下 rpm -qa | grep java #查看当前是否已经安装了跟java有关的包 yum -y remove java #卸载 rpm -qa |grep ...

  4. 禁止Visual Studio启动时自动连接TFS服务器

    在默认设置情况下,Visual Studio启动时,会自动连接上次打开过的TFS服务器.这种设计能够提高开发人员的工作效率,避免每次手动连接TFS服务器. 但是在某些情景中,也会给人造成不必要的麻烦, ...

  5. 《大转换》,计算会像电力一样变成基础设施,基本是作者10年前写的《IT不再重要》的修订版,3星。

    本书英文版是2014年出的,基本是作者2004年的<IT不再重要>的修订版,还是在说<IT不再重要>的那个主题:计算会想电力一样变成技术设施,只需要按需购买. 以下是书中一些观 ...

  6. shell tips

    1.shopt 命令可以设置shell的可选参数 shopt [-psu] [optname...] -s 开启某个选项 -u 关闭某个选项 -p 列出所有可设置的选项 其中开启extglob选项,s ...

  7. ComboBox的联动

    窗体搭建: 实现功能: 加载年级下拉框 选中年级时加载出科目下拉框 加载年级下拉框: 第一步,在DAL层中写一个方法,检索所有的年级名称集合,返回的是泛型集合List<> public L ...

  8. AC日记——矩阵交换行 openjudge 1.8 01

    01:矩阵交换行 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换 ...

  9. 代码覆盖率工具 EMMA

    使用 EMMA 获得功能测试覆盖率 测试覆盖率是评价测试完整性的重要的度量标准之一. EMMA 是一个面向 Java 代码的测试覆盖率收集工具.在测试过程中,使用 EMMA 能使收集和报告测试覆盖率的 ...

  10. Win7虚拟机无法打开内核设备:\\Global\\vmx86

    Win7虚拟机无法打开内核设备:\\Global\\vmx86 听语音 | 浏览:16844 | 更新:2014-07-21 11:21 | 标签:虚拟机 1 2 3 4 5 6 7 分步阅读 一键约 ...