我参与了一个项目,我们最近将应用程序服务器更改为 Jboss AS 7 (EAP 6)。该系统是在域模式下运行的 Jboss 安装,其中一台服务器(服务器 A)包含 EJB 连接到关系数据库,另一台(服务器 B)作为前端节点,主要是 JSP 连接到服务器 A。
在开始我们的负载和性能测试之前,我想在这里问一下。
问题:
在运行事务性 EJB 和 JSP Web 接口的混合的域模式下的 Jboss AS 7 (EAP 6) 上需要哪些主要缺陷和性能调整?
我参与了一个项目,我们最近将应用程序服务器更改为 Jboss AS 7 (EAP 6)。该系统是在域模式下运行的 Jboss 安装,其中一台服务器(服务器 A)包含 EJB 连接到关系数据库,另一台(服务器 B)作为前端节点,主要是 JSP 连接到服务器 A。
在开始我们的负载和性能测试之前,我想在这里问一下。
问题:
在运行事务性 EJB 和 JSP Web 接口的混合的域模式下的 Jboss AS 7 (EAP 6) 上需要哪些主要缺陷和性能调整?
最大的性能问题通常是在不同的服务器上分离 EJB bean 和 UI 代码。
这种模式在 2001 年被提倡,因为“分布式对象”的概念在当时听起来很酷。
在许多失败且缓慢的 IT 项目之后,人们开始思考:我们到底为什么要在任意两段代码之间放置一个慢速网络?我们赢了什么?
答案一成不变。如果有的话,没什么。
长话短说; 不要将 Servlet、JSP 页面和 JSF Servlet 放在不同的服务器上。将您的 EJB 放在同一个 EAR 中,或者甚至考虑将它们放在同一个战争中(只需创建一个包“业务”)。
在我们的 JBoss 7 项目中,最大的性能贡献者之一是服务器没有经过微调,即默认情况下它运行许多未使用和不需要的服务。这些服务影响应用程序生命周期的几乎所有方面,例如部署速度、响应能力、内存和磁盘占用。