如何做好性能测试分析诊断调优-暨《性能测试、分析诊断与调优实践》-赠书。

一个系统或者软件性能的重要性自然是无需多说,永远没有哪个用户可以忍受打开一个网站或者软件需要很久才能响应,性能是评估一个系统或者软件最实在的指标,如果一个网站做得再好看、再漂亮,但是性能上不去,那也只是华而不实。

笔者在离开测试岗进入研发岗已经有好几个年头了,按理说不应该再去写关于软件测试的书籍了而应该更多的去关注编程语言等研发工作,但是笔者在研发岗位上奋斗几年后发现其实性能并不应该是软件测试工程师一个人的事情,而是一个涉及到非常多IT岗位的共同工作,例如架构师、技术经理、研发工程师、网络工程师、运维工程师等都应该去关注性能。为什么这么说呢?因为性能测试的工作不仅仅是为了完成一项性能测试任务来获取系统或者软件的性能指标,而更多的是要去发现性能问题、去分析诊断性能问题、去针对性能问题进行调优。某个性能问题可能是架构设计缺陷引起,也有可能是网络布线不足导致,当然也可能是几行代码的影响,所以这是一个和很多IT岗位都相关的工作,是很多IT岗位都需要一起去重视的工作。正因为性能如此重要,所以笔者在转岗后还是对性能念念不忘,从而也就有了这本书的问世,当然笔者也希望借助本书能让不同IT岗位的“同行”都能更多的去关注性能问题。

这是一本理论和实践相结合的同时面向研发和测试岗的关于性能分析诊断调优实践的图书,比起其他的很多性能测试的图书,本书中内容更侧重于介绍如何去发现性能问题、分析诊断性能问题以及对发现的性能问题进行调优。书中的内容涵盖了性能测试基础、linux和windows服务器的性能分析、web和应用中间件的性能分析、java应用程序的性能分析、数据库的性能分析、安卓APP的性能分析以及具体的性能分析案例实践。这本书主要是面向有一定性能测试基础或者编程语言基础的朋友,对于刚刚接触性能测试的朋友来说可能会稍显吃力,建议在阅读本书的同时可以搭配其他的基础书籍一起效果会更好,笔者相信读完本书的朋友以后肯定不会再为“性能问题”而发愁。

不同的群体对性能的理解可能会存在很大的差异,普通的用户更加关心响应时间和稳定性。

访问页面响应还要让我等多久才能加载出来?

为什么有时候会访问失败?为什么会出现502?

架构师和工程师可能更加关心架构设计和代码编写的性能

应用架构设计是否合理?

 技术架构设计是否合理?

 数据架构设计是否合理?

部署架构设计是否合理?

代码是否存在性能问题?

JVM中是否有不合理的内存分配和使用?

线程同步和线程锁是否合理?

 代码的计算算法是否可以进一步优化以减少CPU的消耗时间?

运维工程师可能更加关心系统的监控以及稳定性情况

 服务器各项资源使用率在正常范围内吗?

 数据库的链接数在正常范围内吗?

Sql执行时间正常吗,是否存在慢查询日志?

系统能够支撑7*24小时连续不间断的业务访问吗?

系统是高可用的吗,服务器节点宕机了会影响用户使用吗?

 对节点扩容后,可以提高系统的性能吗?

性能测试可以发现的问题或者执行的目标描述如下:

1、了解系统的各项性能指标,通过性能压测来了解系统能承受多大的并发访问量、系统的平均响应时间是多少、系统的tps是多少等。

2、发现系统中存在的性能问题,常见的性能问题如下:

系统中是否存在负载均衡不均的情况,负载均衡不均匀一般指的在并发的情况下,每台服务器接收的并发压力不均匀而导致的部分服务器可能因为压力过大而出现性能急剧下降,而部分服务器因为过小而出现资源浪费的情况。

系统中是否存在内存泄漏问题,内存泄漏是指应用程序代码在每次执行完后,不会主动释放内存资源而导致内存使用一直增加,最终会使服务器物理内存全部耗光,程序运行逐渐变慢最终因为无法申请到内存而退出运行,而且多数时候是非常缓慢的增加,不容易被发现,一般需要通过高并发性能压测才能暴露。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppgxx.html