8

有人建议我们应该减小war文件的大小,特别是WEB-INF/lib目录的大小,以提高我们的生产JBoss实例性能,我们在工作中遇到了困难。我仍然怀疑的东西。

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

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

你能提供什么建议?

感谢你。

4

2 回答 2

9

这里有很多值得怀疑的地方:

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

仅应用程序的大小与任何类型的运行时性能无关。在应用程序的生命周期内加载的类的数量对应用程序的内存使用有影响,但这个影响可以忽略不计。

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

  • 当我们说“表现不佳”时是什么意思?
  • 具体是什么不执行?测量,测量,测量。
  • 我们能否将未执行的特定组件改进到我们想要的水平?
  • 如果是这样,请实施这些想法,再次测量以了解性能是否确实有所改善。
于 2010-07-23T01:57:26.917 回答
1

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

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

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

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

如果这是您的情况,您必须决定是否要从防病毒实时扫描中排除您的网络应用程序。

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

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

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

于 2010-07-23T02:27:38.733 回答