2021年(31)
分类: 架构设计与优化
2021-05-22 08:43:20
上次写了《》之后,又引发了群里的新一轮讨论。总结如下:
很高兴他们终于回到了我的问题本身。
解决了这个共识之后,就要面对下一个问题了。
@All
大家觉得不懂性能的人,对性能有哪些误解和误导?像老板、架构师、开发、运维啥的。
在你们的工作中,有遇到过这些人对性能产生影响的吗?
再翻回之前的聊天记录。整理如下:
接着我又问:对一个系统来说,如果只能支持100tps。最后堆了1000台机器,支持了100000tps。 这也叫硬件搞得定的事情?
所以,你们做性能的时候,都是说,这一个实例100tps。要支持1000,就上10台机器吧。 是这样的吗?
假设一台机器 一万。所以就加12台。就是12万呗。
如果优化了用2台,就可以。是不是2万就解决。
这样的优化,你们做不做?!
讨论摘要:
总体来看,这些讨论集中在如下几点:
为什么会有这种讨论呢?前天有人问了我一个问题。大概描述如下:
昨天做压测,我们老板坚持3000线程并发,而系统最大只能支持2000线程并发,用3000线程并发导致响应时间超长,tps反而下降。
可能在很多的项目中,我们都有过这样的经历,觉得做为性能测试工程师的我们,具有了性能分析调优的能力,希望把这种能力体现到项目中去。
而总是有一些其他的原因导致我们的价值得不到体现。
或者总有一些看似无理的性能要求。但是对
从工作这些年的经历来说,我在性能项目中一直秉承着一个观点。性能测试的价值体现就是:
听起来似乎是显然的事情,但是在当前的性能市场中却没几个项目中做到了这几个层面?只能说很少。
有很多人说性能测试,其实不是性能容量的保证。
因为性能是架构设计出来的。关于这一点,我是有一半认同度的。
系统的整体容量规划,肯定是从一开始就要考虑的。而对一个发展迅速的企业来说,可能一开始都想不到容量应该如何规划。所以,还有另一个说法:
性能容量是演进而来的。 这个在具体的企业中,相信很多人都有感慨。因为企业的发展本来就应该是这样的,系统的发展本来也应该是这样的。
在不断的发展壮大之中,慢慢的把系统整理得更有条理。
而测试在这个过程中,其实是系统容量的验证员。
而这个验证员也照样是比较重要的工作,只是对能力上的要求就不用那么高了。因为这之前已经有人做了大量的工作。
鉴于此,对性能项目分为如下几类:
对性能团队的职责定位有如下几种:
为什么要这样划分呢?这里会有一个组合关系。
当只能做性能验证的团队遇到旧系统新版本性能测试类和新系统性能测试优化类项目,那就会被人BS死。所以这样的团队只能做的是新系统性能测试类项目。
当做性能测试的团队,遇到需要新系统性能测试优化类项目,照样被人BS死。这样的团队能做前两种项目。
而只有第三个团队才能做第三种项目。
这样看起来就一目了然了吧。
项目需要不需要调优,不是来自于团队的能力,而是看项目的需要,这一点是肯定的。
当项目有需要,而性能团队做不了时,你只能被BS。
当团队没需要,而性能团队非要舔着脸体现能力,那就是自负了。