环境:
- 亚马逊
- Centos
- Apache-tomcat-7.0.53
- Java 8
- Jackson-core-2.2.3
问题
当我们以约 7000CCU 的负载测试服务器时,当我们使用 Yourkit 分析我们的应用程序服务器时,我们会看到以下几项内容。
http-apr-8080-exec-952 <--- Frozen for at least 17 sec
com.fasterxml.jackson.core.util.InternCache.intern(String) InternCache.java:43
com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.findSymbol(char[], int, int, int) CharsToNameCanonicalizer.java:506
com.fasterxml.jackson.core.json.ReaderBasedJsonParser._parseFieldName(int) ReaderBasedJsonParser.java:1182
com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken() ReaderBasedJsonParser.java:602
com.fasterxml.jackson.core.base.ParserMinimalBase.nextValue() ParserMinimalBase.java:128
我们可以做些什么来提高这个库的性能。
最佳答案
我找到了原因,我们没有关闭解析器实例。通过在“finally block ”中关闭解析器实例,这个问题就消失了。
关于java - com.fasterxml.jackson.core.util.InternCache.intern() 高负载下死锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28988779/