zoukankan      html  css  js  c++  java
  • 电商双11的一些技术准备

          双11对于电商来说,及其的关键,是一场大仗,对于技术人员来说,是一次挑战和提升的地方。

    首先是战前准备,准备的越充分,能够面对的突发情况就能越从容。

          首先是准备,对机器扩容,面对流量的大涨很重要的一件事就是对机器的扩容,扩容要怎么整

    就需要自己进行压测,根据单机压测来进行扩容申请是比较合理的。压测过程中会发现一些程序中

    的性能问题以及相应的应对方法。比如并发量大的情况下,定时任务清理磁盘,此时写日志会导致

    tp99升的特别高,请求在单机上变得特别多,cpu增高、内存增大等一系列连锁情况,解决办法避免 

    并发量高时清理磁盘,或调整日志级别处理日志。还遇到了网络突然重传包增加,初步定为为网络出现

    拥塞或阻塞导致需要重传包,这时网络持续有问题需要将节点直接下掉避免单个或几个节点故障,性能

    好后可重新上线。

          其次是根据压测对于tp99高于50的应用要进行优化,优化是首先是减少数据库、缓存调用次数,一般

    这两个调用次数越多,占用时间越长。这次优化一个问题时遇到了将eheache中数据转换为比较复杂类型

    并且数据本身有几千个的时候比如Map<String,List<String>>发现用时特别长高达20ms,自己基于线程

    安全单例以及ConcurrentHashMap实现了自己的缓存解决了问题,数据特别大写日志也会导致耗费长达20ms,

    禁止写比较大的数据日志。

          后续就是降级开关以及扩容后的联合压测,降级是达到流量上线cpu、内存、tp99等指标上升过高

    给予通用数据,不要在经过复杂计算了通过配置实现。

           扩容后压测

           

          小结:对于双11要提前准备,比如我们这次是9月初就开始统计扩容了。所有的准备预案事情都要尽量提前

    ,提前15天左右会禁网此时无紧急情况已经无法上线。

          待续。。。

  • 相关阅读:
    Sigma Function
    优先队列
    Prime Permutation
    树状数组-----入门级别
    5.2Python函数(二)
    tkinter学习系列(四)之Button 控件
    tkinter学习系列(三)之Label控件
    tkinter学习系列(二)之窗口的设置
    tkinter学习系列(一)开篇之作
    5.1Python函数(一)
  • 原文地址:https://www.cnblogs.com/freedommovie/p/5956435.html
Copyright © 2011-2022 走看看