系统或者软件性能的重要性自然是无须多言,永远没有哪个用户可以忍受打开一个网站或者软件需要很久才能响应,性能是评估一个系统或者软件最实在的指标,如果一个网站做得再好看、再漂亮,但是性能上不去,那也只是华而不实。
笔者在离开测试岗进入研发岗已经有好几个年头了,按理说不应该再去写关于软件测试方面的书,而应该更多地去关注研发工作,但是笔者在研发岗位上奋斗了几年后发现,其实性能并不应该是软件测试工程师一个人的事情,而是一个涉及非常多IT岗位的共同工作,例如架构师、技术经理、研发工程师、网络工程师、运维工程师等,他们都应该去关注性能。为什么这么说呢?因为性能测试的工作不仅仅是为了完成一项性能测试任务来获取系统或者软件的性能指标,而更多的是要去发现性能问题、去分析诊断性能问题、去针对性能问题进行调优。某个性能问题可能是由架构设计缺陷引起的,也有可能是由网络布线不足导致的,当然也可能是由几行代码引发的,所以这是一个和很多IT岗位都相关的工作,是很多IT岗位都需要一起去重视的工作。正因为性能如此重要,所以笔者在转岗后还是对性能念念不忘,从而也就有了这本书的问世,当然笔者也希望借助本书能让不同IT岗位的“同行”都能更多地去关注性能问题。
这是一本理论和实践相结合的、同时面向研发和测试岗的关于性能分析诊断调优实践的图书,比起其他的很多性能测试方面的图书,本书的内容更侧重于介绍如何去发现性能问题、分析诊断性能问题以及对发现的性能问题进行调优。书中的内容涵盖了性能测试基础、Linux和Windows服务器的性能分析、Web和应用中间件的性能分析、Java应用程序的性能分析、MySQL数据库的性能分析、安卓APP的性能分析以及具体的性能分析案例实践。这本书主要是面向有一定性能测试基础或者编程语言基础的朋友,对于刚刚接触性能测试的朋友来说可能会稍显吃力,建议在阅读本书的同时可以搭配参考其他的基础书籍,这样学习效果会更好,笔者相信读完本书的朋友以后肯定不会再为“性能问题”而发愁。
特别感谢夏毓彦编辑一直对我的支持和鼓励,正是有了清华大学出版社各位老师的帮助才有了这本关于性能测试分析、诊断调优的书,也特别感谢蒋彪等众多挚友在我最困难的时候给了我很多的帮助。由于作者水平和时间的限制,书中难免会存在一些错误和不足之处,还望见谅并帮忙指正,也恳请读者提出宝贵的意见和建议。
作者于南京
2020年3月