# 致远协同系统环境巡检清单模板
# 1、通用检查
检查所有服务的license到期时间,即将到期的请及时提醒客户。
采用新加密授权的项目,需要检查指纹到期时间,在到期前更新激活指纹。
# 2、硬件配置检查
检查服务器硬件资源是否满足要求,所有硬件资源要求按照对应版本的安装部署手册中的阶梯资源要求准备,原则上均采用分离部署,如多个服务集中式部署要求硬件资源是分离部署资源的总和:
| 类别 | 服务器名称 | 检查项 | 检查要求及标准 | 检查结果 | 检查结论 |
|---|---|---|---|---|---|
| 硬件 | 应用服务器 | CPU/内存 | 用户并发200以下,8C16G以上(信创服务器上浮25%) | 16C32G(非信创) | 通过 |
| 硬件 | 全文检索服务器 | CPU/内存 | 用户并发200以下,8C16G以上(信创服务器上浮25%) | 4C8G(非信创) | 不通过 |
| 硬件 | OfficeTrans | CPU/内存 | 用户并发200以下,4C8G以上(信创服务器上浮25%) | 4C8G(非信创) | 通过 |
| 硬件 | ... | ... | ... | ... | ... |
| 硬件 | ... | 网络带宽 | 用户并发500以下:要求网卡>=1Gbps;内网带宽速率>=1Gbps;外网带宽建议100Mb | 用户200并发,千兆网卡,千兆带宽,外网带宽100Mb | 通过 |
| 硬件 | ... | 磁盘空间 | C盘或根分区空间大于100G,空闲大于50G;数据盘空间大于500G,空闲大于100G; | 根分区100G,空闲40G;数据盘空间1T,空闲200G | 警告 |
| 硬件 | ... | 磁盘io读写 | 建议使用企业级存储或企业级固态硬盘;机械硬盘建议10000 r/min以上;建议配置磁盘阵列;单次io不高于15ms | ... | ... |
# 3、操作系统检查
检查操作系统是否在产品支持范围内,并且是否参考部署手册进行了参数调优:
| 类别 | 服务器名称 | 检查项 | 检查要求及标准 | 检查结果 | 检查结论 |
|---|---|---|---|---|---|
| 系统 | 应用服务器 | 版本架构 | 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网络参数调整(见Linux部署手册) | 已调整 | 通过 |
| 系统 | ... | 参数调优 | 执行 ulimit -a 命令检查open files句柄数是否已经设置为65535(见Linux部署手册) | 已调整 | 通过 |
| 系统 | ... | 资源使用率 | 服务器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 验证
# 4、中间件检查
| 类别 | 服务器名称 | 检查项 | 检查要求及标准 | 检查结果 | 检查结论 |
|---|---|---|---|---|---|
| 中间件 | ... | 版本 | 检查是否属于标准支持的中间件版本 | ... | ... |
| 中间件 | ... | jdk | 检查jdk版本(查看命令:java -version) | ... | ... |
| 中间件 | 应用服务器 | jvm参数 | 建议配置:-XX:ReservedCodeCacheSize=1G | ... | ... |
| 中间件 | 应用服务器 | jvm参数 | 建议配置:-XX:MaxMetaspaceSize=2G | ... | ... |
| 中间件 | 应用服务器 | jvm参数 | 必须配置:-XX:+UseG1GC (部分信创中间件可以勾选垃圾回收方式:G1GC) | ... | ... |
| 中间件 | 应用服务器 | jvm参数 | 建议配置:-Djava.net.preferIPv4Stack=true | ... | ... |
| 中间件 | 应用服务器 | jvm参数 | 堆内存大小 -Xms -Xmx (参数值需要根据服务器硬件资源和在线人数动态调整,一般不超过总内存的75%) | ... | ... |
| 中间件 | 应用服务器 | 数据源配置 | 数据库驱动类名: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版本参考:各版本基础信息(一般JDK不能低于标准产品的JDK版本太多) https://open.seeyoncloud.com/#/faq/vuepressFile/v1/share?url=Z2ptZkplPjI5Og==
中间件配置参数,请参考信创部署手册。
# jvm参数调整说明:
# 标准参数(可以通过 ps -ef|grep '中间件进程号' 查看,不同中间件jvm参数可能不同,请参考部署手册):
-XX:ReservedCodeCacheSize=1G
-XX:MaxMetaspaceSize=2G
-XX:+UseG1GC
-Djava.net.preferIPv4Stack=true
...
# oracle数据库需要添加以下jvm参数
-Doracle.jdbc.useNio=false
-Doracle.jdbc.javaNetNio=false
堆内存大小应根据jvm堆内存使用率以及服务器内存大小来设置; 下图中,用户并发2000+,服务器内存64G,堆内存只配置了8G;老年代使用率已经97%(峰值100%),明显设置不合理 实际生产环境中,堆内存老年代峰值使用率应保持在70%以下,否则应该适当增加对堆内存大小

GC次数和时间也可以通过OA系统管理员账号,系统维护,系统监控页面获取 正常情况下,OA只会在启动或者每天凌晨0点31分左右执行一次 Full GC,次数与运行天数相差不大;执行时间根据堆内存大小,可能在几秒到几分钟1次;当明显看到次数与时间不正常的高,那么应及时联系研发排查

# 5、数据库检查
| 类别 | 服务器名称 | 检查项 | 检查要求及标准 | 检查结果 | 检查结论 |
|---|---|---|---|---|---|
| 数据库 | ... | 索引 | 索引是否缺失,可以通过环境检查工具或索引扫描工具检查 (opens new window) | ... | ... |
| 数据库 | ... | 索引碎片 | 是否设置有定时备份计划,且验证过备份文件完整性 | ... | ... |
| 数据库 | ... | 内存配置 | 内存配置是否合理,一般为数据库服务器物理内存的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%