加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

Linux Journal宣布再次归来

发布时间:2021-02-11 18:10:49 所属栏目:传媒 来源:互联网
导读:小齐说: 8 月 19 日,苹果公司股价飙升至 468 美元,总市值首次超过 2 万亿美元。 虽然疫情影响了苹果的线下零售,但是第三季度营业额高达 596.9 亿美元,远高于市场对它的预期。 第一代苹果发布会,我看过不下于五遍。一方面是惊叹于当之无愧的革命性产品

小齐说:

8 月 19 日,苹果公司股价飙升至 468 美元,总市值首次超过 2 万亿美元。

虽然疫情影响了苹果的线下零售,但是第三季度营业额高达 596.9 亿美元,远高于市场对它的预期。

第一代苹果发布会,我看过不下于五遍。一方面是惊叹于当之无愧的革命性产品,改变了世界的产品,也改变了几十亿人的生活方式;另一方面是被乔帮主的魅力所折服,毕竟我是听过十遍乔帮主在斯坦福大学演讲的人

这里我们只谈产品和技术,并不代表任何其他立场。

今天有幸请到博士大佬 littlelab,分享他在苹果公司工作的体验,让我们一起来感受下吧~

离开苹果有一段时间了,感觉还是很怀念那段工作经历,如果不是不同的职业道路选择,我想自己应该还在那个组,只是现在写这篇文章的是别人,而读者是我。

这是毕业后的第一份工作,对于一个刚从火坑专业中挣扎出来的 PhD 来说,拿到一份优厚的薪水,已经感激涕零。虽然到了湾区后,听到其它公司的薪酬大开眼界,但是想想自己顺利的入职经历,依然有种对公司的感动。

日子一天天过去,头半年很有意思,虽然辛苦,但是学到很多东西。因为每天都在接触新事物,每天都在认识新人,所以很喜欢上班。

组里中国人很多,大家中午一起吃饭。我老板特别能讲,有段时间最喜欢听他在午饭的时候吹牛,一吹能吹一个小时。然后大家再回去,打杯咖啡, 在自己的小隔间里忙碌起来。

过了一年的时间,渐渐开始关心自己的职业发展,开始想到 3 年后的自己,想到 5 年后的自己,也开始关心起周围人的履历。

苹果能人太多,很多 manager 都是某个领域的大牛或者小牛,有的还有几本书。

不少领军人物已经到了白发苍苍的年纪,被苹果从其它公司挖过来。有的过来当一方大员开疆拓土,有的过来组建团队管理下属,也有过来养老的,写写 spec,但依然像尊神一样让人仰止。
 

万恶的scan

询问研发人员哪里用到了scan(前面他们改的,我不知道),发现,每次请求都会调用scan去拿某个前缀开头的key,每次扫描1000条数据,查看redis键总数,大概有11万条,也就是说,一个请求就要scan100次,1000并发,大概就是10几万次scan,我们知道,redis中scan和keys *是要进行全表扫描的,非常消耗CPU,14万次scan操作,直接让CPU上天了。

为什么测试环境CPU没有上天呢?

对比了下,测试环境和生产环境redis的键总数,测试环境只有900个key,每次请求也就scan一次或者keys *一次,毛线问题都没有。

为什么生产环境有这么多key?

询问研发人员,为什么生产环境有这么多key,没有设置过期时间吗?

研发人员说设置了的,是另一个同事写的代码,打开代码,真是一段魔性的代码,具体代码我就不方便贴出来了,里面有根据条件判断要不要设置过期时间,经过分析,大部分情况下,都没有设置过期时间成功。

当前解决办法

此时,已经凌晨4点半了,虽然大家还很兴奋,但是,经过领导决策,暂时先不动了,因为,目前A系统已经暂停调用B系统了,所以,此时B系统可以说流量几乎为0了,我们白天再分两个阶段来修复这个问题。

第一步,先清理掉生产环境redis的数据,只保留一小部分必要的数据。

第二步,修改scan某前缀开头的数据,改成hash存储,这样可以减少扫描的范围。

好了,本次生产事故排查就到这里了,后续,彤哥,也会继续跟进的。

总结

本次生产事件跟以往遇到的事件都略有不同,大概总结一下:

以往都是应用服务本身的CPU、内存、磁盘、JVM这些问题,redis的带宽和限流还是第一次遇见;

上了华为云以后,很多东西还没有弄得熟练,包括监控指标这些,还需要慢慢摸索;

redis一定要禁用掉keys和scan命令,且大部分key应该设置过期时间!

好了,本次事件大概就写这么多,后续有新的情况彤哥也会继续跟进的,当然,最好不要有新的情况^^

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读