面试:做过 jvm 调优吗

2019-05-02 23:12:46 +08:00
 chunrong918

答:做过,主要是根据项目特点选择什么样的垃圾收集器

感觉回答怪怪的,所以想问下怎么回答比较好

4636 次点击
所在节点    职场话题
11 条回复
lol0
2019-05-02 23:35:05 +08:00
不用调优阿,我们广告服务器每天全球加起来发出 2 万亿请求吧, c++阿笨蛋
p2pCoder
2019-05-02 23:49:02 +08:00
既然已经选择了不同的垃圾收集器,为啥选择,以及各种垃圾收集器的优劣 以及调优点可以说下
性能优化的步骤要熟悉,基准测试,以及监控日志 寻找瓶颈,压测这些关键步骤要熟悉,不要简单的说调优点,否则一看就是背面试题

然后就是工具的使用 jdk 带的各种命令要清楚 ,btrace arthas 这些开源工具要有了解,核心问题都在于定位问题,然后才是优化

监控日志定位瓶颈所在,然后用 btrace.或者 arthas.更细节的调用链

关于 gc,首先就是要打印出 gc 日志,然后能读懂 gc 日志

堆分析 的话,还要分析具体哪些对象

堆内实在不好搞,有些转到堆外会不错,能说出一些堆外应用实例会不错

还有就是最蛋疼的线程池调优,针对 各种类型的应用,有啥调优选择

当然,最好的还是要有真正的经验



如果你没有真正经验的话,一定要把调优的流程说清,基础测试,日志监控,定位瓶颈,压测对比分析这些,其余的 jvm 调优,就死记硬背,看能记住多少
MrCourtier
2019-05-02 23:58:38 +08:00
@p2pCoder 有相关文章查看?深入理解 jvm 的那个调优是否可以借鉴
p2pCoder
2019-05-02 23:59:10 +08:00
@lol0 我们计算广告场景 ctr 预估有个模型服务 qps.维持在 1w 左右,也用的 java,不过 gc 也的确操蛋,调的让人心累,有些也在用堆外
p2pCoder
2019-05-03 00:04:18 +08:00
@MrCourtier 我最近一两个月都在做性能优化,推荐 java 性能权威指南 ,这本对于性能调优调优很有用,而且是针对于调优场景,不像只讲 jvm 的书,更贴近实践
chunrong918
2019-05-04 21:19:07 +08:00
@p2pCoder 如果我这样子答:

做过,有段时间用户反馈网站变慢,线上查看 gc 日志,发现 GC 时间变长,用 jmap 去查看了一下,定位到具体的代码块,发现没有及时垃圾回收的代码做了缓存,仔细查看代码,去掉了缓存,同时针对业务是 cpu 计算密集型,选择使用 CMS 作为垃圾收集器。


这样子有哪些不妥的地方,大佬指正一下?
wenweihu86
2019-05-05 13:16:15 +08:00
@p2pCoder 什么公司广告系统用 java ?
p2pCoder
2019-05-05 13:41:11 +08:00
@wenweihu86 在线预估用 java,和训练平台很多工具打通
上游的 rank recall 用的 c++
坐标步步高系
lol0
2019-05-05 13:53:31 +08:00
vivo 大佬!
muzi
2019-05-05 23:28:10 +08:00
广告 SDK 开发的路过
TonyYOYO
2019-05-06 08:17:16 +08:00
@lol0 这是大佬…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/560618

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX