🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 服务器配置 ## 硬件配置参考 > 视具体需求业务而定 * 最低配置:1核1G 50G SSD * 推荐配置:2核4G 250G SSD ## 服务器配置规约 * 高并发服务器建议调小TCP协议的`time_wait`超时时间。 * 说明:操作系统默认 240 秒后,才会关闭处于`time_wait`状态的连接,在高并发访问下,服务器端会因为处于`time_wait`的连接数太多,可能无法建立新的连接,所以需要在服务器上调小此等待值。 * 正例:在 Linux 服务器上请通过变更`/etc/sysctl.conf`文件去修改该缺省值(秒): `net.ipv4.tcp_fin_timeout = 30` * 调大服务器所支持的最大文件句柄数(FileDescriptor,简写为fd)。 * 说明:主流操作系统的设计是将 TCP/UDP 连接采用与文件一样的方式去管理,即一个连接对应于一个 fd。 * 主流的 Linux 服务器默认所支持最大 fd 数量为 1024,当并发连接数很大时很容易因为 fd 不足而出现“open too many files”错误,导致新的连接无法建立。建议将 Linux 服务器所支持的最大句柄数调高数倍(与服务器的内存数量相关)。 * 给JVM环境参数设置`-XX:+HeapDumpOnOutOfMemoryError`参数,让JVM碰到OOM 场景时输出`dump`信息。 * 说明:OOM的发生是有概率的,甚至相隔数月才出现一例,出错时的堆内信息对解决问题非常有帮助。 * 在线上生产环境,JVM的`Xms`和`Xmx`设置一样大小的内存容量,避免在GC后调整 堆大小带来的压力。 * 服务器内部重定向必须使用`forward`;外部重定向地址必须使用`URL Broker`生成,否则因线上采用`HTTPS`协议而导致浏览器提示“不安全“,还会带来URL维护不一致的问题。