TongWeb8.0生产环境配置规范之一:安装环境配置
一、硬件环境物理机、虚拟机、POD推荐分配的最低配置为4核CPU、4G内存、20G硬盘。主要考虑系统并发访问量消耗CPU的情况TongWeb8.0与应用生成日志的存储空间大小。二、操作系统建立TongWeb的安装用户如tongweb。检查常用top、nmon、netstat、lsof、ps等监控命令齐全。根据不同的linux调整open files值为65535 , 比如在/ect/security/limits.conf文件中加上两行并确认生效。* soft nofile 65535 * hard nofile 65535根据不同的linux优化tcp/ip参数比如在/etc/sysctl.conf中加入net.ipv4.tcp_syncookies1 表示开启SYN Cookies。当出现SYN等待队列溢出时启用cookies来处理可防范少量SYN攻击默认为0表示关闭 net.ipv4.tcp_tw_reuse1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接默认为0表示关闭 net.ipv4.tcp_tw_recycle1 表示开启TCP连接中TIME-WAIT sockets的快速回收默认为0表示关闭。 net.ipv4.tcp_fin_timeout10 net.ipv4.tcp_keepalive_time30三、JDK选择与安装目前国产操作系统平台主要默认提供OpenJDK1.8、OpenJDK11、OpenJDK17或毕昇JDK、TongJDK等不要采用Oracle JDK以免引起商务问题。确认应用需要采用的JDK大版本并检查小版本号尽量为新版本。如JDK1.8.0_211为2019年版本为避免JDK引起的bug问题建议升级为当前较新的JDK1.8.0小版本。检查操作系统自带完整的JDK而非jre。否则无jstack、jmap等分析命令。设置JDK环境变量:export JAVA_HOME/home/JDK export PATH/home/JDK/bin:$PATH四、TongWeb选择与安装优先选择TongWeb当前发布最新版本安装。 若应用系统已经与TongWeb进行过完整适配则评估下与最新版本的差距考虑适合的版本。安装后将license.dat放在TongWeb下若为临时license则要嘱咐用户license过期时间。启动访问控制台修改用户密码后将密码告知用户保存。按用户要求是否做成开机自启动。按之前性能测试时定下的JVM参数设置或是做最基本的调优主要为堆内存大小。上线初期建议打开GC日志以便分析内存。建议配置参数含义-Xms2048m-Xmx2048m最大最小堆内存-XX:UnlockDiagnosticVMOptions-XX:LogVMOutput-XX:LogFile../logs/jvm.log当jstack不可用时用kill -3 PID记录线程堆栈。-XX:HeapDumpOnOutOfMemoryError-XX:HeapDumpPath ../logs/heap.hprof当JVM出现内存溢出时自动生成heapdump文件-XX:PrintGCDetails-XX:PrintGCDateStamps-Xloggc:/logs/gc-%t.log-XX:UseGCLogFileRotation-XX:NumberOfGCLogFiles10-XX:GCLogFileSize10M开启GC日志记录JVM的GC情况并且将GC日志设置为可轮转可限制大小的。常见错误:未对安装过程做文档记录事后用户不知安装情况。操作系统只装了jre当出现问题时无法通过jstack分析问题。装的JDK小版本号过低遇到JVM崩溃问题需要重新安装JDK 版本。采用TongWeb嵌入版未优化open files值未设置JVM内存直接java -jar springboot.jar运行系统 导致出现性能问题。未主动询问用户是否新建系统用户安装TongWeb配成开机自启动导致事后又返工重新安装。