首页 | 财经 | 资源 | 理财 | 考研 | 职场 | 论文 | 资格 | 股票学院 |

股票学院: 股票入门 - 股票知识 - 股票术语 - 炒股技巧 - 选股技巧 - 跟庄技巧 - 炒股经验 - 投资策略 - K线图 - 均线 - 分时图 - 成交量 - 波浪理论 - 基本面分析 - 心理分析 - 涨停研究 - 趋势线 - 江恩理论 - MACD - KDJ - 技术指标 - 财经股票书籍在线阅读 - 金融类书籍下载 - 银行学院 - 保险学院 - 外汇学院 - 债券学院 - 股票学院 - 基金学院 - 港股学院 - 黄金学院

当前位置:天下金融网 > 金融云 > 文章正文

大规模微服务场景下的十大痛点问题定位与优化(4)

时间:2019-09-18 06:25:56来源:云技术作者:佚名

很多情况下,性能的降低的原因在于数据库层,这一点在APM上也能看的出来。这个时候应该DBA去查看问题,可以梳理一下SQL语句,通过慢SQL分析,查看慢的原因,例如索引问题,死锁问题等,这些都可以通过Mysql或者DDB的日志找出来。

大规模微服务场景下的十大痛点问题定位与优化

另外一个经常出现的问题就是TPS比较低,但是CPU使用率非常高。

这时候我们需要通过监控系统查看线程的状态,查看耗时的方法列表以及调用栈,看哪个线程耗时比较多,是否因为业务逻辑的Bug,是否在一直计算某个东西,或者出现业务层的死锁。

另外就是看是否频繁的FullGC,一旦出现了FullGC就会出现一段时间的业务逻辑暂停,在大促本来压力就很大,而且峰值时间比较短的情况下,一个线程hang就会使得调用链拥塞一片。我们要通过监控系统查看堆的信息,找出耗内存的对象,看是否内存一直往上涨,是否存在泄露。

另外对于缓存的一个监控,应用层的缓存设计一般有多层。我们本来一开始设计的是有三层缓存的,localcache有两层,然后分布式缓存有一层,localcache分主动刷新和被动刷新的两层,被动刷新就是遇到请求了再刷新,主动刷新是主动的去过一段时间去刷新。后来我们又把三层缓存简化成了两层缓存,被动刷新的localcache的命中率已经足够用了,再多一层反而会降低性能。

我们之所以监控缓存,是因为我们发现有时候应用层Key使用的不对,或者是配置的不对,会导致缓存层失效,请求就会直接打到数据库,导致请求相对比较的慢。对于缓存的监控,我们在缓存的客户端的jar,会和配置中心进行联动,监控某些我们认为相对比较重要的Key,当Key出现缓存丢失,写频繁,或者写丢失等类似这种事件的时候,它就会上报到我们的监控系统。这个时候,就会发现导致缓存失效的程序Bug。

大规模微服务场景下的十大痛点问题定位与优化

第二步:如果应用层没有问题,则检查异常流量

如果我们确认应用层的确没有问题,就需要开始往下层去进行怀疑了。

首先第一个比较怀疑的是,是不是出现异常流量。比如说有外部的异常流量,可以问问网管和安全部是否网站被DDoS,另外入口网关是否接受到了大量的请求,例如有临时的促销或者临时的事件。

如果入口没有问题,则查看集群的监控,要对照着两个指标看,一个是服务端的请求数目的一个统计,看是否有集中的热点,比如说一个集群有多个副本,其中某个副本收到的请求量特别的大,而其他副本收到的请求数相对比较低。二是在云主机里面的网卡虚拟网卡,也是能够看到相应的监控的,看是不是网络流量就集中到某几台机器上。这两个会有一个对照,如果两方面指标能够对照起来,集中热点比较容易定位,也即请求数上去了,同时云网络的网卡流量也上去了。当出现了热点的时候,就需要通过服务治理中心或者配置中心,将请求打散。

如果两个指标不匹配,这时候就有问题了,也即服务端请求的数目其实并没有多,但是云网络发现出现了问题,这时候就就可能是底层基础设施的问题,我们这个例子遇到这个点就是相对比较诡异,还需要接着解析。

大规模微服务场景下的十大痛点问题定位与优化

如果不是异常流量,就需要从前往后再来梳理这个事,比如说从核心交换机到VPC的网关区域这些是不是出了问题,这时候就要联系机房的网管部门去定位,然后是VPC网关到云的负载均衡,然后是从负载均衡到应用的API网关,然后API网关到应用的Controller层,然后是中间的dubbo调用,然后缓存层到数据库层。接下来要按照整个链路依次的去排查。

大规模微服务场景下的十大痛点问题定位与优化

这里画了一张经比较经典的机房的一个图,其实任何一家公司机房的样子要比这个图可能要复杂得多,这就需要架构部门对机房的架构相对比较清楚。

我们会分机房,分可用区,还会分二级可用区,他们会走不同的汇聚交换机,在监控系统里面也要标明某个服务器群和另一个服务集群之间的访问到底是哪个物理机集群到哪个物理机集群之间的访问,这时候你心里可能需要清楚他们是否在同一个机架里面,或者是在同一个二级可用区,还是在同一个一级可用区,是跨机房了,或者是甚至到异地了,这时候你要心里有个数,因为他们之间的时延都是不一样的。

大规模微服务场景下的十大痛点问题定位与优化

相关阅读

焦点图文

关于我们 | 广告服务 | 商务合作 | 网站地图

版权所有 Copyright(C)2018-2020 苏州骐云跃网络科技有限公司,未经授权禁止复制或建立镜像,否则将依法追究法律责任!
声明:我们不做任何形式的代客理财及投资指导,凡是以天下金融网名义做股票推荐的行为均属违法!
广告商的言论与行为均与天下金融网无关!股市有风险,投资需谨慎。
苏公网安备 32050502000166号
苏ICP备14018528号
商务合作:联系我们

天下金融网版权所有