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

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

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

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

你能提供什么建议?

感谢你。

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

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

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

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

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

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

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。