2回复
4年前
高内存分配率场景
尝试了很多优化方向没有收益,网上没有找到相似案例,朋友说perfMa大神云集,特此来求帮助。
场景是JDK8写的CTR推荐业务,每次接口调用会对数千个候选内容进行特征预处理并调用tensorflow打分。
28核28G的POD,G1垃圾回收,heap给了25G,压测只能达到15QPS左右,CPU80%+,观察GC一次约47ms,每秒GC次数1.135次,内存分配速率16.77GB/s,接口正常响应时间309ms,根据这些指标评估40%请求受到GC影响。
尝试过64核128G的POD,给了90G+heap,发现QPS没有任何提升,内存分配速率到达20GB/s,GC单次到达150~数百ms。
用arthas做了火焰图,程序方面没有自身并发瓶颈,对JVM不太熟悉,想问一下是不是JVM内存吞吐或者GC表现方面达到了既有瓶颈,谢谢。
3871 阅读