安装 SGD Gateway 时,系统会基于 SGD Gateway 主机上的可用内存自动配置并发自适应 Internet 协议 (Adaptive Internet Protocol, AIP) 和 HTTP 连接最大数量的默认值。同时还将针对此连接数量优化分配给 SGD Gateway 的 Java 虚拟机 (Java Virtual Machine, JVM) 的内存大小。
安装 SGD Gateway 之后,可以根据预期的 SGD 用户数以及他们将运行的应用程序数调整默认设置。执行此操作时,可能还需要调整 JVM 内存大小。此过程称为调整 SGD Gateway。
如果 JVM 内存大小对于预期的连接数来说过低,SGD Gateway 可能会停止工作并拒绝后续的所有连接。在这种情况下,您需要调整 SGD Gateway,以便有足够的 JVM 内存可用。SGD Gateway 显示 java.lang.OutOfMemoryError
错误消息表示可能需要进行调整。
要调整 SGD Gateway,您需要执行以下操作:
更改 AIP 最大连接数。请参见第 C.1.1 节 “更改 AIP 最大连接数”。
更改 HTTP 最大连接数。请参见第 C.1.2 节 “更改 HTTP 最大连接数”。
更改 JVM 内存大小。请参见第 C.1.3 节 “更改 JVM 内存大小”。
AIP 最大连接数在安装时配置。默认设置取决于 SGD Gateway 主机上可用的内存资源。
可以将此设置改为更适合您的部署的值。有关如何计算 SGD Gateway 使用的 AIP 最大连接数的详细信息,请参见第 C.1.1.1 节 “计算 AIP 连接数”。
要更改 AIP 最大连接数,请使用带 --routes-aip-maxcon
选项的 gateway config edit 命令。例如,要将 AIP 最大连接数更改为 3000,请运行以下命令:
# /opt/SUNWsgdg/bin/gateway config edit --routes-aip-maxcon 3000
必须重新启动 SGD Gateway 才能启用所做的任何更改。
HTTP 最大连接数在安装时配置。此设置定义最大并发用户数。默认值为 100。
要更改 HTTP 最大连接数,请使用带 --routes-http-maxcon
选项的 gateway config edit 命令。例如,要将 HTTP 最大连接数更改为 200,请运行以下命令:
# /opt/SUNWsgdg/bin/gateway config edit --routes-http-maxcon 200
必须重新启动 SGD Gateway 才能启用所做的任何更改。
更改 AIP 和 HTTP 最大连接数时,可能需要更改分配给 SGD Gateway 的 JVM 的内存大小。为此,请编辑 /opt/SUNWsgdg/proxy/etc/tuning_parameters
文件中的以下设置:
-Xms
-JVM 的初始内存大小(以字节为单位)
-Xmx
-JVM 的最大内存大小(以字节为单位)
可以将 K
(kilo,千)和 M
(mega,兆)修饰符用于这些设置。例如:960K = 960 千字节,512M = 512 兆字节。
有关如何计算 JVM 内存大小值的详细信息,请参见第 C.1.3.1 节 “计算 JVM 内存大小”。
确保系统配置有足够的内存资源来支持您所做的 JVM 设置。
必须重新启动 SGD Gateway 才能启用所做的任何更改。
SGD Gateway 使用的 JVM 内存量取决于并发 AIP 连接和 HTTP 连接数。
由于每个 SGD Gateway 连接大约需要 300 千字节的 JVM 内存,因此所需的 JVM 内存的计算公式为:
(AIP 连接数 + HTTP 连接数) x 300 千字节
例如,如果 SGD Gateway 具有 500 个 SGD 用户,每个用户运行两个应用程序。并发 AIP 最大连接数为:
(2 + 3) x 500 = 2500 个 AIP 连接
SGD Gateway 还必须能处理足够的 SGD Web 服务器并发 HTTP 连接。对于此示例,HTTP 最大连接数为:
250 个 HTTP 连接
因此,所需的 JVM 内存为:
(2500 + 250) x 300 千字节 = 806 兆字节(大约)。
在 /opt/SUNWsgdg/proxy/etc/tuning_parameters
文件中,将 -Xms
和 -Xmx
参数设置为计算的 JVM 内存值。出于性能原因,-Xms
和 -Xmx
通常设置为同一值。