当前位置: 首页 > news >正文

建设电商网站的总结报告wordpress 不发邮件

建设电商网站的总结报告,wordpress 不发邮件,中山半江红网站建设,网站设计建设制作一、背景 在今天上午的时候#xff0c;突然收到大量的sentry报错#xff0c;都是关于redis连接超时的警告。 首先想到的是去查看redis的监控#xff0c;发现那个时间段#xff0c;redis的请求数剧增#xff0c;cpu使用率和带宽都陡增双倍。 下面的是redis监控的cpu情况 …一、背景 在今天上午的时候突然收到大量的sentry报错都是关于redis连接超时的警告。 首先想到的是去查看redis的监控发现那个时间段redis的请求数剧增cpu使用率和带宽都陡增双倍。 下面的是redis监控的cpu情况 最后贴一张redis的流量 到目前为止可以看到redis的压力确实上来了。 随之阿里云也给我们发来告警说redis连接超时导致主从切换。 于是我们推测是程序的访问量剧增接口中都又依赖redis导致访问redis的请求等陡增。 当然至于为什么会发生是不是就是redis出问题了呢最后又应该怎么调整 是调整程序还是加大redis的配置 二、监控 从监控大盘能看到的信息有httpq qps高达17k~18kjvm节点的内存和gc等没有任何异常毫无压力。但是redis访问却超时。程序设置连接redis的超时时间为3秒 1、http qps 2、arms 3、cloudDBA 缺少对redis客户端的连接监控依赖cloudDBA的实例会话。 而一般情况下redis客户端有多少呢1或2个见下 4、sentry QueryTimeoutException Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 3 second(s)三、redis连接数 1、lettuce 源码见类LettuceConnectionFactory 其中的构建函数中可以看到默认this.shareNativeConnection true; 表示共享本地线程。 下面看看关于连接池的配置项 详见类org.springframework.boot.autoconfigure.data.redis.RedisProperties其中Pool类是跟线程池相关的配置。 那么是在哪个地方用到的呢 org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration.PoolBuilderFactory 把RedisProperties.Pool赋值给GenericObjectPoolConfig详见下 如果需要池化技术你需要额外引入线程池框架。(因为我这项目里没有引入所以看到是标红的编译不通过) dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactIdversion2.7.0/version /dependency总结lettuce连接redis只会创建一个连接。 具体推荐一篇文章https://www.cnblogs.com/throwable/p/11601538.html#%E8%BF%9E%E6%8E%A5redis 2、jedis 由于我们没有使用jedis了相信很多人也不会弃用lettuce而用它。 所以这里不打算对其连接进行很细的描述。 当我们使用springboot框架的时候你只要看spring-boot-autoconfigure.jar的实现。 org.springframework.boot.autoconfigure.data.redis.JedisConnectionConfiguration private void applyPooling(RedisProperties.Pool pool,JedisClientConfiguration.JedisClientConfigurationBuilder builder) {builder.usePooling().poolConfig(jedisPoolConfig(pool));}配置RedisProperties.Pool赋值给JedisPoolConfig。 3、redisson Config config new Config(); config.useSingleServer().setAddress(redis://127.0.0.1:6379);RedissonClient redisson Redisson.create(config);顺着代码往后看 public SingleServerConfig useSingleServer() {return this.useSingleServer(new SingleServerConfig());}所以只需要看类org.redisson.config.SingleServerConfig的成员变量以及构造函数。 private int connectionMinimumIdleSize 24;private int connectionPoolSize 64;所以需要将最前的代码稍加修改如下 Config config new Config(); config.useSingleServer().setAddress(redis://127.0.0.1:6379).setConnectionMinimumIdleSize(5).setConnectionPoolSize(10).setThreads(10).setNettyThreads(2);RedissonClient redisson Redisson.create(config); setConnectionMinimumIdleSize(5) 设置了连接池的最小空闲连接数为 5setConnectionPoolSize(10) 设置了连接池的最大连接数为 10setThreads(10) 设置了 Redission 使用的线程数setNettyThreads(2) 设置了 Netty 使用的线程数 Redission 使用线程池来处理异步操作其中的线程数由 threads 配置项控制。较多的线程可能导致较多的连接。 总结由于我们在使用redission的时候采用的是默认值所以连接池的最小连接数为24这也趋近前文redis的客户端实例监控的数量27。 也可以说之所以和其他服务相比占用更多的连接就是redission配置项使用的默认值所导致。 四、总结 jvm程序的内存和gc没有变化在接口访问量陡增的情况下我们根据目前得到的信息决定修改程序代码redission的配置。 也就是说减少程序对redis服务器的并发请求至少不会让redis服务器的压力陡增。 一味地增加redis配置当然不可取因为我们的redis配置已经是很高了。 另外我很怀疑阿里云在今天的表现说实话业务在没有变化非常大的情况下不应该使得redis一下子就卡机了。 服务只是让redis的压力上升了并不是会让得redis连接超时且切换了主从。 再说下去就是阴谋论了水平有限从目前获取到的信息看只能把程序本来存在的旧问题给修复好后期再看监控对比吧。
http://www.sadfv.cn/news/386123/

相关文章:

  • 网站的建设与预算ftp 上传 wordpress
  • 网站搭建的流程是什么推广关键词
  • 济南网站建设服务哪家好上海最有名的设计公司有哪些
  • 网站要怎么做的吗网站本科
  • 简单详细搭建网站教程视频教程成都网站建设前50强
  • 锦州网站制作公司应该如何做营销型网站
  • 网站创意文案怎么做wordpress调用分类目录代码
  • 手机销售网站的建设西安seo网站公司
  • 外链 网站权重公司展厅装修效果图
  • 网站参数修改互联网推广开户
  • 深圳市住建局造价站镇江关键字优化公司
  • 深圳华企网站建设公司建设网站的步骤
  • 十堰优化网站排名公司响应式网站 价格
  • 手机网站建设流程 知乎网站开发外包项目网站
  • 网站程序的构成网站的运营维护
  • 网站可以放多少视频瀑布流网站源码
  • 浙江省建设监理协会管网站爱企查企业服务平台
  • 做网站创业需要注册公司吗cocos2d-js可以做网站吗
  • 如何选择坪山网站建设网站源码下载教程
  • 龙岩网站建设公司网站用户体验
  • 兰州专业做网站的公司哪家好建立企业网站公司
  • 静态网页模板 网站模板承德网站建设方案
  • 大连p2p网站建设企业网站的技术维护内容主要包括
  • html做网站经验技巧青岛李沧建设局网站
  • 郑州市多商家网站制作公司网站建设费如何做账
  • 个人域名备案有什么风险外贸网站seo公司排名
  • flash相册网站源码广州seo建站
  • 宜昌网站设计为什么wordpress后台写文章不一样
  • 网站页面设计与实现哈尔滨一恒建设
  • 响应式模板网站模板网站优化公司收费