私有安装版性能优化检查

对于AWS PaaS私有安装客户,安装介质默认是未经参数优化的。获得稳定可靠的服务,必须根据实际硬件环境和访问量进行适当的调优。

当部署的生产环境出现性能问题时,请首先对以下常规配置项进行检查:

  • AWS Web层服务
  • AWS App层服务
  • 数据库服务
  • 操作系统

AWS Web层服务

重点检查项 说明
每Web实例最大并发数 瞬间能处理的用户端页面/API请求。
Web总最大处理数 = Web实例数 * 每Web实例最大并发数
参数:%AWS-HOME%/webserver/webapps/portal/WEB-INF/classes/aws-server.xml#maxConnector
建议:800-1200(修改需重启Web服务)
Connector参数 80端口Connector配置
参数%AWS-HOME%/webserver/conf/server.xml#Connector port="80或默认8088"
建议: maxPostSize="-1";maxThreads不低于aws-server.xml#maxConnector
connectionTimeout不低于2秒;启用compression相关参数

启用SSL后的433端口Connector配置
参数%AWS-HOME%/webserver/conf/server.xml#Connector port="443"
建议: 增加maxPostSize="-1";maxThreads不低于aws-server.xml#maxConnector
connectionTimeout不低于2秒;启用compression相关参数
JVM参数 启动Web服务的JVM参数。分配内存后,应确保操作系统剩余可用内存不低于2g
参数: %AWS-HOME%/webserver/bin/catalina.sh(catalina.bat)#JAVA_OPTS
建议:-Xms1.5g -Xmx1.5g 或者 -Xms2g -Xmx2g

AWS App层服务

重点检查项 说明
每App实例最大并发数 瞬间能处理的Web端请求。
总最大处理数 = App实例数 * 每App实例最大并发数
参数:%AWS-HOME%/bin/conf/server.xml#connector#maxClient
建议:800-1200。公式:Web总最大处理数/App实例数
数据库连接池初始化数 启动AWS时,默认与DB准备好的可用连接资源。
参数:%AWS-HOME%/bin/conf/server.xml#database#initialSize
建议:不低于50,但不能高于maxActive
数据库最大连接数 同时连接数据库的最大连接数。参数:%AWS-HOME%/bin/conf/server.xml#database#maxActive
建议:每App实例最大并发数*(0.5~1)
数据库sql debug开关 生产环境禁止长期开启sql debug开关。
参数:%AWS-HOME%/bin/conf/aws-log4j.xml # <Logger name="com.actionsoft.sql" additivity="false" level="OFF">
建议:level="OFF"
原因:sql输出,影响性能
数据库sql Connection占用明细开关 生产环境禁止长期开启sql debug开关。
参数:%AWS-HOME%/bin/conf/server.xml#debug#sql
原因:track跟踪,影响性能
CONSOLE控制台命令行模式 如App服务由后台进程启动(无终端窗口),必须关闭命令行支持。
参数:%AWS-HOME%/bin/conf/server.xml#connector#shell
建议:false
JVM参数 启动App服务的JVM参数。分配内存后,应确保操作系统剩余可用内存不低于2g
参数: %AWS-HOME%/bin/aws_startup.sh(startup.bat)#JAVA_OPTS
建议:-Xms2g -Xmx2g (2g-4g)

数据库服务

需要针对数据库类型进行调优,常规调优以DBA建议为主。

重点检查项 说明
数据库最大游标数 同时连接数据库的最大连接数,建议不低于总最大处理数
总最大处理数 = App实例数 * 每App实例同时连接数据库的最大连接数

如果是Oracle数据库,建议将AWS表创建在非users的独立表空间,并设置该表空间自增长

操作系统

Linux操作系统

(1)优化系统最大文件句柄数

对上述Web、App和数据库服务器的操作系统最大文件句柄数进行调优,建议调整为65535

1. 查看当前系统最大文件句柄数

在终端执行ulimit -a命令,查看open files

2. 设置和生效配置

编辑 /etc/security/limits.conf文件,增加如下行:

*      soft      nofile    65535
*      hard      nofile    65535

重启操作系统

Windows操作系统

(1)优化系统动态端口范围数

对上述Web、App和数据库服务器的Socket动态端口范围值进行调优。如果范围值过低,可能会导致高并发下临时端口不够用。

1. 查看当前系统动态端口范围值

//在cmd窗口执行以下命令
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp
netsh int ipv6 show dynamicport tcp
netsh int ipv6 show dynamicport udp

2. 设置和生效配置

以下start=2000,num=63000仅参考

//在cmd窗口执行以下命令
netsh int ipv4 set dynamicport tcp start=2000 num=63000
netsh int ipv4 set dynamicport udp start=2000 num=63000
netsh int ipv6 set dynamicport tcp start=2000 num=63000
netsh int ipv6 set dynamicport udp start=2000 num=63000

重启操作系统



Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区