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. MFC MDI 主框架和标签页数据互操作

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  2. mybatis oracle BLOB类型字段保存与读取

    一.BLOB字段 BLOB是指二进制大对象也就是英文Binary Large Object的所写,而CLOB是指大字符对象也就是英文Character Large Object的所写.其中BLOB是用 ...

  3. 修改/etc/profile文件

    通常情况下,/etc/profile文件是只读的,直接用vi或gedit打开修改后是无法保存的.要修改profile,需要取得root权限,(使用gedit编辑)应该如下: $sudo gedit / ...

  4. webapp尺寸

    一.viewport宽度 起源:PC端的网站要显示在移动端有什么问题? 如果把移动端的可是区域设置到(320-768)的话,大部分网站都会因为太窄而显示错乱 所以浏览器默认把viewport[这个vi ...

  5. [转]ion-slide-box

    本文转自:http://ionicframework.com/docs/api/directive/ionSlideBox/ The Slide Box is a multi-page contain ...

  6. Google Play笔记之上架

    我最近负责Google Play上架的主要工作 ,现已进入开放测试阶段(随后就可全球首发~~).接入工作已完成,这篇记录一下上架后期的笔记. 开放测试 开放测试是指对所有玩家进行开放式测试,玩家可以通 ...

  7. java中“@Deprecated”的意思

    例如:Java内在的File类中有如下方法 @Deprecatedpublic URL toURL() throws MalformedURLException {return new URL(&qu ...

  8. stl学习(三)crope的用法

    转载自http://blog.csdn.net/iamzky/article/details/38348653 曾经我不会写平衡树……于是在STL中乱翻……学到了pb_ds库中的SXBK的斐波那契堆. ...

  9. 安卓手机已保存WiFi密码查看助手(开源)

    一.需求分析 最近电脑需要连接WiFi,却发现WiFi密码给忘记了.而手机里有保存过的WiFi密码,但是在手机的设置界面看不到. 虽然已经有一些可以查看WiFi密码的app,但是主要还是担心密码被那些 ...

  10. HTML 学习笔记 CSS3 (多列)

    CSS3多列 通过CSS3 我们能够创建多个列来对文本进行布局. 在这篇文章中 你将了解到如下多列属性: column-count column-gap column-rule 浏览器支持: 多列的属 ...