经典面试题:在这个场景下,你怎么进行性能调优?
来源 | https://url.cn/5OrJa7e
很多工作两三年的朋友都跟我说,认为性能调优没什么用。刚工作的时候我也这样以为,但后来我才知道当时发想法有多么天真。
性能提升与定时炸弹
曾经,我的前前东家系统研发部门来了一位大神,为什么叫他大神?因为在他来公司的一年时间里只做了一件事,就是把服务器的数量缩减到了原来的一半,系统的性能指标,反而还提升了。
好的系统性能调优不仅可以提高系统性能,还能为公司节省资源。这也是我们做性能调优的最直接的目的。
我有一个在小厂的朋友,有一次跟我说,他们公司的系统从来没有经过性能调优,功能测试完成后就上线了,线上也没有出现过什么性能问题,为什么还要去做性能调优呢?
当时我就回答了他一句,如果你们公司做的是 12306 网站,不做系统性能优化就上线,试试看会是什么情况。一款线上产品如果没有经过性能测试,那它就好比是一颗定时炸弹。
所有的系统在开发完之后,多多少少都会有性能问题,我们要做的就是想办法把问题暴露出来,例如进行压力测试、模拟可能的操作场景等等,再通过性能调优去解决这些问题。
性能调优的策略
假设你的系统要做一次活动,产品经理告诉你预计有几十万的用户访问量,询问系统能否承受得住。如果你不清楚自己系统的性能情况,也只能战战兢兢地回答老板,应该没问题吧。
首先,我们来了解一下2019百度、京东、腾讯、阿里巴巴等各大厂关于性能调优的面试题。
Java虚拟机底层原理与性能优化
Mysql索引数据结构与性能优化
BIO,NIO,AIO,Netty以及Redis线程模型