春招妥了!资深技术面试官教你这样准备 Java 面试! | CSDN 博文精选(19)

1、你参与全链路压测 , 即相应的同学坐一起 , 用Jmeter发请求 , 用zabbix监控CPU内存指标 , 同时看日志监控问题 。

2、压测是用测试环境 , 当然你也可以说是线上环境 , 如果是线上环境的话 , 更要监控 , 一旦出现CPU等负载过高 , 立即终止 。

3、比如用Jmeter发500个线程 , 每个线程起5个交易 , 这些交易用2秒做完 , 那么每秒的压力是1250 。

4、最关键的是 , 你要根据压测结果改善性能 , 比如通过压测 , 发现了线程池设置参数时 , 把等待队列设成了无界 , 或者有模块IO对象没关 , 或者ArrayList没clear , 从而导致了OOM , 或者发现高并发场景数据库方面出现了长SQL , 然后用执行计划分析 , 再解决 , 或者发现了系统日志本来是同步输出的 , 从而导致性能瓶颈 , 最后改成异步日志 。 或者发现数据库是瓶颈 , 所以再引入MyCAT和Redis 。

总之 , 压测说辞方面 , 面试官更关注你分析问题和解决问题的经验 , 至于发现和解决的问题 , 只要能说得过去就行了 , 况且你还能借此展示分布式和调优方面的技能 。 而排查线上问题方面的经验 , 你可以用如下的步骤给出说辞 。

推荐阅读