ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

TongWeb8.0生产环境配置规范之一:安装环境配置

TongWeb8.0生产环境配置规范之一:安装环境配置

一、硬件环境

物理机、虚拟机、POD推荐分配的最低配置为:4核CPU、4G内存、20G硬盘。主要考虑系统并发访问量消耗CPU的情况,TongWeb8.0与应用生成日志的存储空间大小。

二、操作系统

  1. 建立TongWeb的安装用户,如:tongweb。
  2. 检查常用top、nmon、netstat、lsof、ps等监控命令齐全。
  3. 根据不同的linux调整open files值为65535 , 比如:在/ect/security/limits.conf文件中加上两行,并确认生效。
    * soft nofile 65535 * hard nofile 65535​
  4. 根据不同的linux优化tcp/ip参数,比如:在/etc/sysctl.conf中加入
net.ipv4.tcp_syncookies=1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭; net.ipv4.tcp_tw_reuse=1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭; net.ipv4.tcp_tw_recycle=1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。 net.ipv4.tcp_fin_timeout=10 net.ipv4.tcp_keepalive_time=30

三、JDK选择与安装

  1. 目前国产操作系统平台主要默认提供OpenJDK1.8、OpenJDK11、OpenJDK17或毕昇JDK、TongJDK等,不要采用Oracle JDK以免引起商务问题。
  2. 确认应用需要采用的JDK大版本,并检查小版本号尽量为新版本。如:JDK1.8.0_211为2019年版本,为避免JDK引起的bug问题,建议升级为当前较新的JDK1.8.0小版本。
  3. 检查操作系统自带完整的JDK,而非jre。否则无jstack、jmap等分析命令。
  4. 设置JDK环境变量:
export JAVA_HOME=/home/JDK export PATH=/home/JDK/bin:$PATH

四、TongWeb选择与安装

  1. 优先选择TongWeb当前发布最新版本安装。 若应用系统已经与TongWeb进行过完整适配,则评估下与最新版本的差距,考虑适合的版本。
  2. 安装后,将license.dat放在TongWeb下,若为临时license,则要嘱咐用户license过期时间。
  3. 启动访问控制台,修改用户密码后将密码告知用户保存。
  4. 按用户要求是否做成开机自启动。
  5. 按之前性能测试时定下的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:NumberOfGCLogFiles=10

-XX:GCLogFileSize=10M

开启GC日志,记录JVM的GC情况,并且将GC日志设置为可轮转,可限制大小的。

常见错误:

  • 未对安装过程做文档记录,事后用户不知安装情况。
  • 操作系统只装了jre,当出现问题时无法通过jstack分析问题。
  • 装的JDK小版本号过低,遇到JVM崩溃问题,需要重新安装JDK 版本。
  • 采用TongWeb嵌入版,未优化open files值,未设置JVM内存,直接java -jar springboot.jar运行系统, 导致出现性能问题。
  • 未主动询问用户是否新建系统用户安装TongWeb,配成开机自启动,导致事后又返工重新安装。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进