团队管理之性能实施团队日志9

news/2024/10/17 12:31:25/

最近项目进入胶着状态。
混合场景在有些项目组里已经可以开始了,但还是有两三个项目组现在是完全没办法混合起来的。
本周计划是把基准测试、容量测试跑完,稳定性测试每个项目组至少能跑一遍。
但是从进度上来看,容量测试至少有四个系统不能跑完了。
直到现在,还有问题。这周的问题感觉每个系统每天都会出现新问题。
在这里插入图片描述

从统计的问题来看,加上没有放到 Jira 上的问题,已经近两百个了。
按8个系统平均来算,一个系统已经出现了20多个。
据我的感觉,还有一些琐碎的问题没有提的,像这个表缺个索引,那个参数又配置错了。修改起来很快的。估计要超过每个系统 30 个性能问题。

这在一个项目中已经非常难得见了。
互联网架构用来做金融,本身带来的问题,也非常明确地体现出来了。业务逻辑的复杂性和互联网架构的耦合带来的分析问题的复杂度,也非常明显。
从技术上来说,真没有多少新东西。只是从架构和分析的思路上,逻辑要重新画一下。
在这里插入图片描述

以上只是支付系统的一部分逻辑。
再简化一下拓扑图就像下面这样。

这上面我已经把挡板都不画了。数据流转的逻辑上大概就是这样了。而这里面光渠道总线就已经有五个模块。每个模块中又有三个机器左右,又有主从,或者读写分离等等。所以在分析的时候逻辑就变得非常重要了。

面对一个系统,先画逻辑图对理解分析的思路很有帮助。

昨天有一个项目的 TPS 死活上不去,CPU 消耗只能到 30 %左右,几个同事分析了老半天。最后的时候也打了threaddump,也看到了阻塞在log写的时候。但是翻了下代码,觉得写法是没有问题的呀。

他们做了一个动作是把tomcat的线程数加大,我正好上楼说另一个事情,他们跟我说了一下。我听说他们的前面的分析思路觉得挺靠谱的,但是提到增加线程数,我就不能理解了。

于是我就停下来看了一眼他们的 thread 状态。看到有大量的是在 waiting on monitor 的状态。我就问他们为什么增加线程数?他们觉得这样也许可以把CPU用上去。可是我说你们这等待的就这么多了,还加线程数,不是等得更多了吗?
所以分析之后的优化还是要往合理的方向上去。我说你们都看到了log写导致了等待出现。那就把log写的逻辑分析一下。我让他们把代码翻来看看,结果看到了配置的同步log。也没有配置写buffer。我让他们先把log写降下来,那最快的验证的方式就是把log级别调高。原来是info,我说调到error,先验证下方向是不是对的。

结果一调到error,同样的场景,TPS就增加了4倍,CPU消耗高达70%。然后优化的方向就很明确了,就是让log写更快。异步是一种方式,如果云平台的IO不行,可以考虑换存储,也可以考虑加buffer。也可以这些步骤一起来做。

总之现在TPS是在单实例就可以达到要求了,从业务上说没有了风险,后面怎么做得更细致,那就看对技术的执着程度了。

昨天跟团队里的人讨论了分析思路要清晰地事情,我再三强调,分析思路就清晰明确,不要因为怀疑而做动作。性能分析绝不是几个人讨论能出结果的,而是数据的一层层剥开。

今天下午,说到核心系统有个交易要 300ms 完成。我一看,怎么这么长?核心系统要是这么长,那前面的渠道怎么办?经过四五层之后,随便加加也会超过1秒2秒的了。而他们给自己定的目标是1秒以内。我觉得完全没有从架构上考虑前端的感受。借着讨论其他sql的机会,我把那个核心库的慢 SQL 也拿下来看了一眼(现在慢 SQL我让数据中心配置到 100ms 以上就打)。发现了核心业务系统中有好多慢的 SQL。我跟他们说了一下,他们现在开始考虑分析慢sql的逻辑去了。

再说沟通,性能组的沟通往往是矩阵式的。而不是单线的沟通,所以就要求做性能的人有足够的耐心、丰富的技巧、扎实的技术。在我现在的团队中,大概的组织结构是这样。
在这里插入图片描述

性能组成员跟其他组成员都会直接地沟通。可怕的不是性能组成员1<-〉项目组1成员1这样的沟通模式。而是链路式的沟通。

因为项目组之间是有依赖关系的,所以沟通关系有可能是这样的。
在这里插入图片描述

单个人的沟通看起来还能接受。但是当每个人都沟通的时候,可能就会乱了。
在这里插入图片描述

在项目中,项目组之间的沟通耗费的精力和时间往往比项目本身更多。
在这时候,PM 就要出马了,减少沟通中出现的技术误差和情绪误解。
性能组的 PM 要干的不只是沟通各项目组的 PM,往往有些决策还要依赖总监或者科技部老大,所以这些沟通都要性能组 PM 来做。

所以 PM 的职责,不仅是把握技术方向,还要做沟通,而沟通将占去性能组PM大部分的精力。

今天先写到这里吧。


http://www.ppmy.cn/news/274050.html

相关文章

如何安装pycharm的包

PyCharm是JetBrains公司推出的一款Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;可以提供高效的Python代码编写、调试和测试。以下是一些PyCharm的主要功能&#xff1a; 代码智能提示和自动补全功能&#xff1b;支持调试和测试Python代码&#xff1b;完整的Pyth…

小新air15为啥没人买_联想小新Air15怎么样?

圣诞节之后即是元旦&#xff0c;恐怕在新年焕新季&#xff0c;很多朋友都想换一台笔记本。联想小新Air15作为一款大屏轻薄产品可能已经在部分消费者的购物车了。那么联想小新Air15怎么样&#xff0c;其性能、做工等方面表现如何&#xff0c;本文将为大家介绍联想小新Air15的优缺…

联想小新潮5000的内存条插入方法

1.拆开主机后盖 先拧下电脑背面的全部螺丝。 沿着缝隙撬开主机后壳&#xff0c;先撬开前面&#xff0c;然后撬开有usb接口那一边&#xff0c;然后撬开后边&#xff0c;然后撬开剩下一边&#xff08;有HDD&#xff0c;这边基本撬不开来&#xff0c;先取出HDD,或者往HDD 的相反…

联想小新潮5000内存条安装感想

2018.3月份入手了这款笔记本&#xff0c;没有太多经验。要了个一般配置的&#xff0c;结果经过两年的使用&#xff0c;时不时就会卡死&#xff0c;无奈进行内存升级 联想小新潮5000的后壳是一个整体。 拆机之前要断掉电源&#xff0c;关闭电脑 首先把螺丝都拆了&#xff0c;再…

联想小新Air15 2019 屏幕开胶问题解决记录及吐槽

起因 最近遇到了一件很苦恼的事情。就是我的电脑屏幕开胶的问题越来越严重了。 以前的话也就是普通的屏幕左边底下开胶。如图所示&#xff1a; 这个问题本来还能忍受&#xff0c;不过我是没想到它并不是表面那样人畜无害&#xff0c;因此错过了最后的补救的机会。等它发出咯吱…

联想小新潮5000--- --- UEFI+GPT 下 重装Win10系统

开篇先说一句废话 本旺名字叫萨摩耶&#xff0c;&#xff0c;Please 叫我旺财&#xff0c;&#xff0c;&#xff0c;哈哈&#xff0c;招财进宝嘛&#xff01; 缘由 说白了&#xff0c;就是手欠嘛&#xff0c;电脑用的时间有点长了&#xff0c;机子慢慢的开始有点卡顿了&#…

联想微型计算机装Win10,联想小新 潮5000重装win10系统教程

联想小新潮5000拥有15.6英寸全高清屏幕&#xff0c;视野宽阔清晰&#xff0c;为你带来观看视界的无尽享受。178广视角、1920*1080细腻画质的配备更是让你不会错过画面中的每一个角落。同时在它纤薄的机身中&#xff0c;搭载性能级独立显卡于强劲处理器&#xff0c;较比AMD R5 M…

联想小新触摸板驱动_联想小新潮触摸板驱动_联想小新潮5000电脑触摸板驱动下载 v1.57 稳定版-126g驱动网...

联想小新潮触摸板驱动软件能让我们的电脑更好的支持触摸板设备&#xff0c;笔记本触摸板是非常好用的设备&#xff0c;就算没有鼠标&#xff0c;我们通过触摸板也能操控电脑&#xff0c;安装驱动后能有效的解决触摸板断触、失灵、灵敏度低等问题&#xff0c;是每位电脑用户的必…