代理错误 - Java Web 应用程序 / Glassfish / MySQL / Apache

代理错误 - Java Web 应用程序 / Glassfish / MySQL / Apache

我在 AWS Linux 服务器上的 Glassfish 上运行了一些 Java Servlet Web 应用程序。这些应用程序与安装在同一台服务器上的 MySQL 数据库集成。此外,访问管理是通过 Apache 完成的。

实际情况是,应用程序冻结并经常崩溃,而日志中没有任何提示;无论是 Glassfish 日志,还是 MySQL 或 Apache 日志。浏览器中显示的唯一有关错误的信息是:

代理错误。代理服务器从上游服务器收到无效响应。代理服务器无法处理请求。原因:从远程服务器读取时出错。Apache/2.4.29 (Ubuntu) 服务器位于 serverweb.domain.com.br 端口 443

此时应用程序崩溃。有时我甚至可以访问它,但速度非常慢,不久之后应用程序又崩溃了。

我的服务器设置是:

Linux Ubuntu 18.4、AWS 2 CPU、8GB RAM、20GB 存储空间。Glassfish 配置为 -Xmx1536m 和 -XX:MaxPermSize=384m。由于内存消耗,Glassfish 服务器每天都会重新启动。此重新启动在夜间自动完成,以免影响应用程序的运行。

应用程序使用 Hibernate 框架访问数据库。以下是 Hibernate 设置:

<property name="hibernate.connection.provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property>
    <property name="hibernate.c3p0.acquireIncrement">2</property>
    <property name="hibernate.c3p0.initialPoolSize">1</property>
    <property name="hibernate.c3p0.minPoolSize">10</property>
    <property name="hibernate.c3p0.maxPoolSize">200</property>
    <property name="hibernate.c3p0.maxIdleTime">1500</property>
    <property name="hibernate.c3p0.maxConnectionAge">1200</property>
    <property name="hibernate.c3p0.acquireRetryAttempts">7</property>
    <property name="hibernate.c3p0.acquireRetryDelay">250</property>

由于问题原因未出现在日志中,我不知道是什么导致了这些崩溃。值得一提的是,这个问题最近才开始出现,偶尔每 15 天发生一次。问题是,现在它几乎每天都在发生。

有没有人遇到过类似的事情?他们对我应该调查什么有什么建议吗?我不知道是什么导致了这个问题。

相关内容