whitek 发表于 2018-12-2 09:20:14

tomcat服务器超时504

  服务器出现504超时,查log发现有线程锁在LOG4J里面,查看LOG4J的配置,里面把所有的LOG都打印了处理(log4j.rootLogger=ERROR,stdout,fileLog,fileErr和HIBERNATE的debug LOG都输出了),后修改删除不必要的输出,和更新LOG4J的版本(由1.2.15-1.2.17),服务器并发能力明显改善。

  但过了几天又出现504,发现内存泄漏,检查代码发现用了XSTREAM,
  错误代码:
  XStream siteUpdateStream =new XStream(new StaxDriver(new NoNameCoder()));
  siteUpdateStream.autodetectAnnotations(true);
  siteUpdateStream.alias("root", BaseinfoSiteUpdateInput.class);
  发现在方法里面每调用一次,服务器的持久带内存都会增加,而且并发量越大内存消耗越快导致服务器504.
  后修改:
  private static XStream carrierDelStream =new XStream(new StaxDriver(new NoNameCoder()));
  改成静态变量,并修改JAR的版本号com.thoughtworks.xstream1.44改为1.48发现内存没在出现泄漏;
  




页: [1]
查看完整版本: tomcat服务器超时504