war文件大小是否会以某种方式影响应用程序和/或应用程序服务器的性能?

时间:2010-07-23 01:48:05

标签: java web-applications java-ee jboss application-server

我们在这里努力工作,有人建议我们应该减小war文件的大小,特别是WEB-INF / lib目录大小,以便提高我们的JBoss实例性能。我仍然怀疑的东西。

我们在应用服务器中部署了大约15个Web应用程序,每个应用程序大小约为15到20 MB。

我知道有很多变数涉及到这个,但是你们中的任何人实际上都处理过这种情况吗? .war文件大小实际上是否会对Web容器产生重大影响?

您可以提供哪些建议?

谢谢你。

2 个答案:

答案 0 :(得分:9)

这里有许多值得怀疑的事情:

  • 应用程序没有达到您想要的水平?
  • 您是否测量过应用程序以找出哪些组件导致性能不足?
  • 应用程序/系统的瓶颈是什么?

单独使用应用程序的大小与任何类型的运行时性能无关。在应用程序生命周期中加载的类数量会对应用程序的内存使用量产生影响,但却是一个令人难以置信的可忽略不计的类。

在处理“性能问题”时,解决方案始终遵循相同的一般步骤:

  • 当我们说“表现不好”时,这是什么意思?
  • 具体什么不表现?测量,测量,测量。
  • 我们能否将特定组件的性能提升到我们想要的水平?
  • 如果是这样,请实施这些想法,再次测量以确定性能是否真正得到改善。

答案 1 :(得分:1)

需要您告诉我们操作系统。 你有防病毒的实时保护吗?

war / jar文件实际上是一个zip文件 - 也就是说,如果你将.war重命名为.zip,你可以使用zip实用程序来查看/解压缩它。

在部署期间,war文件会一次解压缩到指定的文件夹中。如果您有实时保护,则防病毒实用程序可能需要一些时间来扫描创建的目录的新分支,并减慢对它们的任何访问。

许多Web应用程序框架(如JSP)都会创建临时文件,您的实时保护会开始扫描它们。

如果是这种情况,您必须决定是否要将您的网络应用排除在防病毒实时扫描之外。

您是否正在运行Linux但是使用ntfs-3g访问您的Web目录?如果是,请检查ntfs目录是否已压缩。 ntfs-3g在访问压缩的ntfs文件时遇到问题,尤其是在同时操作/创建/解压缩多个文件时。首先,除非有一些非常有效的原因(我看不到任何原因),否则Web应用程序目录应该是Linux本机格式的本地分区。

使用wireshark监控网络活动。了解Web应用程序是否导致对远程文件系统的访问。每当Web应用程序处于活动状态时,查看是否有太多重新传输。过多的重传或重传请求意味着网络管道存在完整性问题。我仍然试图自己理解这个问题 - 一些网卡在Linux中运行缓冲问题(就像缓冲区溢出一样)但在Windows中运行。

只要您对ip地址有所了解,Wireshark就不难使用,您可能希望编写awk,perl或python脚本来分析流量。就个人而言,我会使用SAS。