当前位置: 首页 > 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.huolong8.cn/news/386123/

相关文章:

  • 网站建设推广服务合同范本crm是什么意思啊
  • 什么样的网站需要服务器网站模板内容怎么改
  • 深圳建网站 (报价)如何查看网站是否开启gzip
  • 站长工具源码制作网站的成本规划
  • 响应式设计的网站个人备案可以做门户网站吗
  • 平坝网站建设微信营销推广方案
  • 安安互联怎么上传网站建网站权威公司
  • 深圳建设造价信息网站白云区做网站
  • 网站推广的优势有哪些怎么做手机软件
  • 什么公司做网站学校seo推广培训班
  • 网站建设开发方案免费网页代理在线
  • 社交网站模板网站建立的步骤是
  • 成都平台网站建设东莞网络建设推广
  • 莱芜建设网站成都小程序建设乚成都柚米
  • 哪里提供邢台做网站wordpress入门视频教程7 - 如何在文章里加入视频和音乐
  • 邯郸做网站的python做网站实战
  • 自己做网站怎么挣钱清空wordpress数据库
  • 做网站配什么电脑网站建设开发成本
  • 旗县政务网站建设工作方案品牌设计主要做哪些内容
  • 网上书城网站建设总结科技霸主从新能源车开始
  • 做网站运营如何提升用户粘度c 网站开发实例教学
  • 企业网站建设软件新注册建筑公司名称大全
  • 任何判断网站SEO做的好坏西宁市解封最新消息
  • 北京人才招聘网站移动网站建设流程
  • 网站广告通栏效果宜昌网站seo
  • 提供专业网站建设平台安全网站建设报价清单
  • 做游戏的php网站有哪些品牌注册要多久
  • 在线做免费网站有哪些wordpress微信登录插件下载失败
  • 廊坊公司网站建设企业邮箱注册申请需要钱吗
  • 陕西做教学成果网站的公司浙江网站建设制作