性能测试大实话

Posted Python测试社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试大实话相关的知识,希望对你有一定的参考价值。

之前时不时有微信好友或者Q群群友咨询:

1. 是不是会一些linux命令、会几个工具、会改常见中间件性能指标计数器,就能做性能分析调优了?网上或者某些资料演示的就是通过几个命令就定位到方法了

2. 或者如某些人或者某些j构宣传的,不会代码,会上面这些就能立马成为高级性能测试?就能大展手脚独立承担性能测试任务、完成调优了?

我想说的是:


1. 代码是必须的

其实,命令、工具只是辅助,对于简单的项目,有时候能帮我们快速找到问题,但是现在基本上都是比较复杂的项目,所以,需要进一步分析。
虽然网上或者某些资料演示的通过几个命令就定位到方法了,其实,有些演示犹如演戏,为了演示而故意这样写代码(几行代码就可以写出一个oom的问题、或者cpu高的问题)

实际项目是很复杂的,而要开发、部署企业级复杂架构项目来进行演示,各种成本都是非常高的

就算你定位到方法了,那怎么优化呢?代码看不懂,也只能发给开发分析调优

如果开发比较菜,也懵逼,一脸无赖的说:你定位错了吧,不可能的事儿,是服务器资源的问题吧!

估计你心里一万匹曹尼玛

2. 不是所有性能问题都涉及到代码

性能问题很多,不是所有的性能问题都需要看代码,比如压测过程中报获取不到连接,估计是连接满了,你适当调整下参数估计就ok了,
就像dba,估计也没研究过数据库的源码吧?一样可以凭借经验对数据库进行调优

3. 命令、工具不是万能的

有时候,通过命令,顶多能帮我们定位到问题,比如定位到代码方法,但是要调优,还是得懂代码

而且,有时环境或者权限受限,比如:非自带命令没有权限安装,或者没权限往服务器上传安装包,或者普通用户无法运行命令,这下怎么分析呢?
所以,不要过度依赖非自带命令,注意,这里强调的是非自带命令,自带命令还是要好好利用的;

4. 团队协作很重要

 

学习建议


要学好性能需要掌握的内容:
1. 压测工具及场景设计
2. 搭建监控平台(现在基本上都是集群环境)
3. 操作系统(掌握常见自带命令)
4. 集群应用(发现可能是代码问题,能看懂代码,大部分都是java,那就学学:java基础、spring、springboot等等)
5. RDBMS、NoSQL、MQ等技术栈,这些你知道大概原理和常用的性能计数器就可以了,当然,能看源码就更6了,这些都是经历过千锤百炼的,本身性能问题很少,大概率是一些配置的问题
6. JVM
7. 网络
8. 其它(具体看项目架构用到的技术栈)

能看懂代码才是“王炸”,比如根据堆栈信息,能去分析代码,万事开头难,不懂的可以问开发或者度娘,搞不定可以发给开发,你就看他怎么分析的,多跟着学习

总之,要深入做性能,代码是绕不过去的,代码至少能看懂,所以,别被网上一些宣传的忽悠了,不会代码且没有大量实践,高级性能速成是不可能的,独立承担完成性能项目对测试要求不是一般的高,so,认清现实很重要,坚持一步一步提升,终将成为项目性能的“老中医”

哪怕非性能测试,对代码要求也不低。
 

总结


代码和实践非常重要!!!
代码都看不懂,谈什么高级性能分析调优?顶多就是个只会监控、调性能计数器的初中级性能测试

突然想起一句某大师说的:你不懂代码,怎么能发现开发的问题?这里的问题是代码的问题,而不是我们平时功能测试看到的表象,我觉得:这是对测试的最高要求了,总之代码是趋势,哪怕是后面转岗互联网其它岗位也是有优势的,早做准备吧,僧多肉少的职场

不实践,就像古人说的:纸上得来终觉浅,绝知此事要躬行
 
最后,送上一份最近整理的linux性能监控分析思维导图
(下方加微信可获取最新版)


领取性能资料可加小编微信
暗号(666)


最后本人会赠送一套Python学习精品视频,识别下方二维码,回复Python领取

关注后台回复 Python 领取

以上是关于性能测试大实话的主要内容,如果未能解决你的问题,请参考以下文章

大数据测试前需要了解性能测试点

大数据测试前需要了解性能测试点

认识软件性能测试10大误区

大数据性能测试介绍

性能小文 | 性能测试工具大比武

性能测试之路——混乱管理体会