我们在一个内部公司系统上工作,该系统将web前端作为其接口之一。
前端(Java + Tomcat + Apache)通过SOAP web服务与后端(用类似COBOL的语言编写的专有系统)通信。
因此,我们来回传递大型XML文件。
我们认为,由于XML传输和解析的大量开销,这种架构对性能有很大的影响。不幸的是,我们被这个架构卡住了。
我们如何才能使这个XML设置更高效呢?
任何技巧或技巧都是非常受欢迎的。
发布于 2010-03-20 01:51:13
分析!
在负载下对你的系统做一些适当的分析--这里没有足够的信息。
你需要弄清楚时间的去向和瓶颈是什么(网络带宽、cpu、内存等)。只有到那时,你才会知道该怎么做--许多优化实际上只是权衡(例如,缓存是牺牲内存来提高其他地方的性能)
我随手能想到的唯一一件事就是确保您在web服务中使用HTTP压缩- XML通常可以压缩到其正常大小的一小部分,但同样,只有当您有空闲的CPU周期时,这才会有所帮助。
发布于 2010-03-20 01:50:10
如果两端都支持的话,您可以压缩传输,并且可以尝试不同的解析器,但是既然您说SOAP,那么就没有太多的选择。无论如何,SOAP都是臃肿的。
发布于 2010-03-20 01:50:22
如果您认为GZIP压缩是由于带宽问题,那么我将在这里冒险建议您使用GZIP压缩。(您提到了XML传输)是的,这会增加您的CPU时间,但它可能会加快传输速度。
Here's the first Google hit on GZIP Compression作为起点。它描述了它如何在Apache上工作。
https://stackoverflow.com/questions/2479406
复制相似问题