【问题标题】:Does a war file size affect in some way the application and/or application server performance?战争文件的大小是否会以某种方式影响应用程序和/或应用程序服务器的性能?
【发布时间】:2010-07-23 01:48:04
【问题描述】:

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

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

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

你能提供什么建议?

谢谢你。

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    • 我们说“表现不佳”是什么意思?
    • 具体是什么不执行?测量,测量,测量。
    • 我们能否将特定组件的性能提高到我们想要的水平?
    • 如果是,请实施这些想法,再次测量以了解性能是否确实有所改善。

    【讨论】:

    • 就是这样,没有实际的性能问题,只是有人建议由于 .war 文件大小可能会降低性能。
    • 与什么相比可能的退化 - 与较小的战争相比?如果是这样,那么这将很容易测试 - 对原始应用程序与更苗条的应用程序进行基准测试。但是您是否在 WEB-INF/lib 中包含了您不需要的罐子?如果不是,那么它已经尽可能纤薄了。这听起来像是一个没有事实支持的建议。
    【解决方案2】:

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

    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。

    【讨论】:

    • 如果你在带有病毒扫描的 windows 服务器上运行 jboss,你遇到的问题比战争文件大小要严重得多......
    猜你喜欢
    • 2021-07-05
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 2011-05-02
    • 1970-01-01
    相关资源
    最近更新 更多