# 致远协同系统环境巡检清单模板
# 硬件配置:
类别 | 服务器名称 | 检查项 | 检查要求及标准 | 检查结果 | 检查结论 |
---|---|---|---|---|---|
硬件 | 应用服务器 | CPU/内存 | 用户并发200以下,8C16G以上(信创服务器上浮50%) | 16C32G(非信创) | 通过 |
硬件 | 全文检索服务器 | CPU/内存 | 用户并发200以下,8C16G以上(信创服务器上浮50%) | 4C8G(非信创) | 不通过 |
硬件 | OfficeTrans | CPU/内存 | 用户并发200以下,4C8G以上(信创服务器上浮50%) | 4C8G(非信创) | 通过 |
硬件 | ... | ... | ... | ... | ... |
硬件 | ... | 网络带宽 | 用户并发500以下:要求网卡>=1Gbps;内网带宽速率>=1Gbps;外网带宽建议100Mb | 用户200并发,千兆网卡,千兆带宽,外网带宽100Mb | 通过 |
硬件 | ... | 磁盘空间 | C盘或根分区空间大于100G,空闲大于50G;数据盘空间大于500G,空闲大于100G; | 根分区100G,空闲40G;数据盘空间1T,空闲200G | 警告 |
硬件 | ... | 磁盘io读写 | 建议使用企业级存储或企业级固态硬盘;机械硬盘建议10000 r/min以上;建议配置磁盘阵列;单次io不高于15ms | ... | ... |
参考文档:https://open.seeyoncloud.com/v5doc/142/1964.html#%E4%B8%BB%E6%9C%8D%E5%8A%A1%E8%BD%AF%E7%A1%AC%E4%BB%B6%E9%85%8D%E7%BD%AE
# 操作系统:
类别 | 服务器名称 | 检查项 | 检查要求及标准 | 检查结果 | 检查结论 |
---|---|---|---|---|---|
系统 | 应用服务器 | 版本架构 | 64位架构;windows server 2012 R2以上;RedHat Enterprise Linux7 以上;ubuntu22.04 lts等;glibc >= 2.17 等 | x86_64, glibc 2.28 | 通过 |
系统 | ... | ... | ... | ... | ... |
系统 | ... | 虚拟内存 | windows虚拟内存可以使用自动管理,建议16G以上;linux swap 建议16G以上;注意根据磁盘空闲空间大小以及空闲内存合理设置 | 未开启swap | 警告 |
系统 | ... | 时间同步 | 是否配置统一的时间服务器,当前时间是否同步 | 已同步 | 通过 |
系统 | ... | 时区 | 建议东八区(linux命令: cat /etc/timezone) | Asia/Shanghai | 通过 |
系统 | ... | 系统语言及编码 | linux:zh_CN.UTF-8(查看命令: locale);windows:简体中文GBK(936)(查看命令: chcp) | en_US.UTF-8 | 不通过 |
系统 | ... | 参数调优 | Linux内核、TCP网络参数调整(见参考) | 已调整 | 通过 |
系统 | ... | 资源使用率 | 服务器CPU使用率低于75%(建议取一段时间的平均值) | ... | ... |
系统 | ... | 资源使用率 | 服务器内存使用率低于75%(建议取一段时间的平均值) | ... | ... |
系统 | ... | 资源使用率 | 服务器1分钟cpu平均负载不超过cpu逻辑核数(取一段时间的峰值) | ... | ... |
系统 | ... | 带宽使用率 | 低于75%(取一段时间的峰值) | ... | ... |
系统 | ... | 磁盘io | 磁盘队列不应该持续大于1,单次io响应时间低于15ms,cpu使用率中iowait没有明显瓶颈 | ... | ... |
# 系统架构
# windows:
wmic os get osarchitecture
# linux:
uname -m
# 虚拟内存
当物理内存较为充足空闲较多,可以不用配置虚拟内存;windows修改虚拟内存需要重启生效,linux配置swap后注意内核参数vm.swappiness大小(建议配置10)
# Linux参数调优
# ulimit最大进程数、最大文件打开数
vi /etc/security/limits.conf
# open files (-n)
* soft nofile 65535
* hard nofile 65535
# max user processes (-u)
* soft nproc 65535
* hard nproc 65535
# TCP 网络参数调整
vi /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
# 修改后重启系统生效,通过命令 ulimit -a 和 sysctl -p 验证
# 中间件:
类别 | 服务器名称 | 检查项 | 检查要求及标准 | 检查结果 | 检查结论 |
---|---|---|---|---|---|
中间件 | ... | 版本 | 检查是否属于标准支持的中间件版本 | ... | ... |
中间件 | ... | jdk | 检查jdk版本(查看命令:java -version) | ... | ... |
中间件 | 应用服务器 | jvm参数 | 建议配置:-XX:ReservedCodeCacheSize=1G | ... | ... |
中间件 | 应用服务器 | jvm参数 | 建议配置:-XX:MaxMetaspaceSize=2G | ... | ... |
中间件 | 应用服务器 | jvm参数 | 必须配置:-XX:+UseG1GC (部分信创中间件可以勾选垃圾回收方式:G1GC) | ... | ... |
中间件 | 应用服务器 | jvm参数 | 建议配置:-Djava.net.preferIPv4Stack=true | ... | ... |
中间件 | 应用服务器 | jvm参数 | 堆内存大小 -Xms -Xmx (见参考说明) | ... | ... |
中间件 | 应用服务器 | 数据源配置 | 数据库驱动类名:com.seeyon.ctp.monitor.perf.jdbcmonitor.proxyobj.JMProxyDriver ;jvm参数中需要通过-Djdbcproxydriver.driverclass配置对应数据库驱动类名 | ... | ... |
中间件 | 应用服务器 | 数据源配置 | 初始/最小连接数建议等于最小空闲连接数,建议配置20~50,如果数据库连接频繁超过最小连接数,可以适当加大 | ... | ... |
中间件 | 应用服务器 | 数据源配置 | 各应用节点的最大连接数之和应小于数据库支持的最大连接数,一般配置300~500 | ... | ... |
中间件 | 应用服务器 | 数据源配置 | 中间件lib下只保留一个对应的数据库jdbc驱动,且需要与数据库版本吻合 | ... | ... |
中间件 | 应用服务器 | 数据源配置 | 连接池属性必须勾选自动提交和释放连接时回滚(尤其注意宝兰德955版本) | ... | ... |
中间件 | 应用服务器 | 数据源配置 | 事务隔离级别:读已提交(READ_COMMITTED) | ... | ... |
中间件 | 应用服务器 | 线程池配置 | 初始线程100,最大线程2048或4096 | ... | ... |
中间件 | 应用服务器 | 线程池配置 | io模式为nio(东方通) | ... | ... |
中间件 | 应用服务器 | 虚拟主机 | cacheMaxSize >= 512MB (单位一般是KB,标准产品低版本续手动调整) | ... | ... |
中间件 | 应用服务器 | HTTP通道 | 最大POST请求字节数为 -1 (默认2MB) | ... | ... |
中间件 | 应用服务器 | HTTP通道 | 不开启压缩(静态资源压缩建议使用nginx实现) | ... | ... |
中间件 | 应用服务器 | jvm数据 | 当前堆内存老年代使用率峰值 (应低于70%,建议至少运行一周以后再采集) | ... | ... |
中间件 | 应用服务器 | jvm数据 | 堆内存老年代使用率是否持续增涨没有释放(可以连续采集几个小时或几天的数据观察,如果持续增涨不释放则可能内存泄露) | ... | ... |
中间件 | 应用服务器 | jvm数据 | GC方式是否G1GC,GC次数和总时间是否正常(参考下列说明) | ... | ... |
中间件 | 应用服务器 | jvm数据 | 非堆内存中codecache和metaspace使用率 (应低于80%,建议至少运行一周以后从系统监控页面采集) | ... | ... |
# OA使用jdk版本参考:
https://open.seeyoncloud.com/v5doc/142/189.html
- 中间件配置参数,请参考部署文档: https://open.seeyoncloud.com/v5doc/142/1185/ https://open.seeyoncloud.com/v5doc/34/
# jvm参数调整说明:
# 标准参数(可以通过 ps -ef|grep '中间件进程号' 查看,不同中间件jvm参数可能不同,请参考部署手册):
-XX:ReservedCodeCacheSize=1G
-XX:MaxMetaspaceSize=2G
-XX:+UseG1GC
-Djava.net.preferIPv4Stack=true
...
堆内存大小应根据jvm堆内存使用率以及服务器内存大小来设置; 下图中,用户并发2000+,服务器内存64G,堆内存只配置了8G;老年代使用率已经97%(峰值100%),明显设置不合理 实际生产环境中,堆内存老年代峰值使用率应保持在70%以下,否则应该适当增加对堆内存大小
GC次数和时间也可以通过OA系统管理员账号,系统维护,系统监控页面获取 正常情况下,OA只会在启动或者每天凌晨0点31分左右执行一次 Full GC,次数与运行天数相差不大;执行时间根据堆内存大小,可能在几秒到几分钟1次;当明显看到次数与时间不正常的高,那么应及时联系研发排查
# 数据库:
类别 | 服务器名称 | 检查项 | 检查要求及标准 | 检查结果 | 检查结论 |
---|---|---|---|---|---|
数据库 | ... | 索引 | 索引是否缺失,可以通过环境检查工具或索引扫描工具检查 | ... | ... |
数据库 | ... | 索引碎片 | 是否设置有定时备份计划,且验证过备份文件完整性 | ... | ... |
数据库 | ... | 内存配置 | 内存配置是否合理,一般为数据库服务器物理内存的60%~80%(见下列说明) | ... | ... |
数据库 | ... | 备份 | 是否设置有定时备份计划,且验证过备份文件完整性,备份文件多地存放 | ... | ... |
数据库 | ... | 慢sql | ... | ... | ... |
数据库 | ... | 锁阻塞 | ... | ... | ... |
# 索引:
必须检查数据库索引是否缺失,如果是非标数据库无法使用工具,可以对照初始化sql文件中的创建索引语句检查 尤其是ctp_affair表中3个member_id开头的联合索引(如果发现低版本有7个,则需要优化) sqlserver索引碎片问题,建议配置定期整理
# 内存配置:
sqlserver:设置最大内存为物理内存的80% oracle:sga设置为物理内存80%*80% pga设置为物理内存20%*80% mysql:innodb_buffer_pool_size设置为物理内存60%~80% ...