【问题标题】:Wicket application + Apache + mod_jk - AJP queues are filling up!Wicket 应用程序 + Apache + mod_jk - AJP 队列已满!
【发布时间】:2010-06-02 13:50:51
【问题描述】:

我们在生产环境中部署了一个基于 Wicket 的 Java 应用程序 使用 Apache (2.2.3) 和 mod_jk (1.2.30) 作为负载平衡的服务器集群 带有粘性会话的组件和 Jboss 5 作为应用程序容器 Java 应用程序。

我们在生产环境中看到的问题不一致 如 JMX 控制台所示,我们在 Apache 和 Jboss 之间的 AJP 队列已填满 请求到应用程序服务器不再占用的点 任何新的请求。在查看所有涉及的系统组件时(总体 流量、负载数据库、进程列表数据库、所有集群应用服务器的负载 节点)没有指向容量问题,这可以解释为什么 呼叫在 AJP 队列中被停止。相反,所有系统都会出现 足够空闲。

到目前为止,我们解决此问题的唯一方法是重新启动应用服务器和 负载均衡器,只是偶尔清除 AJP 队列。

我们正试图弄清楚为什么队列已经填满了 尽管系统不在 高负载。

有没有其他人遇到过类似的问题?

是否还有其他我们应该监控的系统指标来解释 排队行为?

这可能是 mod_jk 问题吗?如果是这样,是否建议交换 mod_jk 用 mod_cluster 解决问题?

非常感谢任何建议。如果我可以提供更多信息 为了排除故障,我非常愿意这样做。

/本

【问题讨论】:

  • 考虑 mod_cluster (jboss.org/mod_cluster) 而不是 mod_jk 用于 JBossAS 5+,它应该更容易正常工作,尽管我自己没有尝试过(仍然停留在 AS 4.3 ....)

标签: java apache jboss wicket mod-jk


【解决方案1】:

闻起来很像陷入僵局。

我会验证 tomcat 连接的数量:如果这些连接也达到最大值,那么几乎 100% 肯定它是应用程序或数据库相关的。

发生这种情况时检查数据库中的锁。这可能会提供线索。

如果您在后端使用 Stateful Session Beans,我会好好看看它们。

【讨论】:

    猜你喜欢
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 2015-10-11
    相关资源
    最近更新 更多