【问题标题】:Openshift gear size and increasing XmxOpenshift齿轮尺寸和增加Xmx
【发布时间】:2014-12-18 10:48:28
【问题描述】:

背景:

在 Openshift 中,我使用 3 个小齿轮,每个小齿轮 512m。该应用程序添加了一个 Web 负载均衡器。 Web 应用程序是一个基于 tomcat 7 的应用程序,使用 jbossews-2.0 部署

问题 1:我在某处读到,Web 负载均衡器本身将运行在一个齿轮中。那么这是否意味着,对于缩放,我只剩下一个装备了吗?考虑 tomcat 实例运行的 1 个齿轮,负载均衡器运行的 1 个齿轮以及负载增加的情况下,3 个齿轮中的最后一个齿轮可以扩展?

问题 2:文档说每个齿轮都有 512m。我已经用我的 tomcat 7 应用程序配置了 New relic。我看到以下 jvm 配置集:

-XX:MaxPermSize=102m, -XX:MinHeapFreeRatio=20, -Xms40m, -Xmx256m

现在,如果我有 512m 可用,我是否认为我可以将最大堆增加到更大一些 -Xmx384m 或完整的 512m ?

问题 3:如果是,该怎么做?我添加了确实设置参数的操作挂钩,但新遗物中的环境设置仍将最大堆显示为 227m。在提供的参数列表中,我看到两个参数,一个是我的自定义 xml,一个是默认提供的

-Xms40m, -Xmx256m, -Xmx384m,

似乎 jvm 选择了它找到的第一个参数,我不确定为什么它没有被我的自定义 arg 更新。设置这是我在 pre hook 中所做的

export _JAVA_OPTIONS="$_JAVA_OPTIONS -Xmx384m -javaagent:/var/lib/openshift/{###}/app-root/repo/newrelic/newrelic.jar"

也试过

export JAVA_OPTS="-Xmx384m $JAVA_OPTS"

请指导,以便我的自定义 xml 参数只被读取而不是默认值。

【问题讨论】:

    标签: java tomcat7 openshift heap-memory newrelic


    【解决方案1】:

    问题 1:
    复制自 https://developers.openshift.com/en/overview-platform-features.html#how-scaling-works

    扩展应用程序中的第一个 Web 设备安装了 HAProxy,还安装了您的 Web 应用程序。一旦扩展到 3 档,与 HAProxy 搭配的 Web 设备将关闭,以允许 HAProxy 更多资源来路由流量。这是您的可扩展应用程序的diagram。如果您缩小到 2 个齿轮或更少,则您的第一个齿轮上的网络墨盒将再次启动。

    问题 2 和 3 您可以增加堆大小,但是,您必须重置所有现有的 JAVA_OPTS 以及新的 -Xmx 值。所以下次使用 JAVA_OPTS 环境变量并设置你的堆大小,然后一定要从 https://github.com/openshift/origin-server/blob/master/cartridges/openshift-origin-cartridge-jbossas/versions/7/bin/standalone.conf#L136 复制其余的 OPTS。

    【讨论】:

      【解决方案2】:

      我认为您实际上无法更改选项,因为它们是由弹药筒/齿轮尺寸组合设置的,并且因为 JAVA_OPTS 由 openshift 控制。无论如何,您必须改用 JAVA_OPTS_EXT,并且仅限于一些额外的参数,如系统属性、垃圾收集器等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-27
        • 1970-01-01
        • 2018-05-21
        • 1970-01-01
        相关资源
        最近更新 更多