业精于勤,荒于嬉
种一棵树
|

超级鲨鱼辣椒

园龄:6年4个月粉丝:5关注:1

2021-09-13 10:00阅读: 39评论: 0推荐: 0

工程结构(三)服务器

所有内容摘自阿里巴巴的《Java开发手册-嵩山版》

  1. 【推荐】高并发服务器建议调小 TCP 协议的 time_wait 超时时间。
    说明:操作系统默认 240 秒后,才会关闭处于 time_wait 状态的连接,在高并发访问下,服务器端会因为处于 time_wait 状态的连接过多,可能无法建立新的连接,所以需要在服务器上调小此等待值。
    正例:在 Linux 服务器上请通过变更 /etc/sysctl.conf 文件去修改该缺省值(秒):
    net.ipv4.tcp_fin_timeout = 30

  2. 【推荐】调大服务器所支持的最大文件句柄数(File Descriptor,简写为 fd)。
    说明:主流操作系统的设计是将 TCP/UDP 连接采用与文件一样的方式去管理,即一个连接对应于一个 fd。主流的 Linux 服务器默认所支持最大 fd 数量为 1024,当并发连接数很大时容易因为 fd 不足而出现“open too many files”错误,导致新的连接无法建立。建议将 Linux 服务器所支持的最大句柄数调高数倍(与服务器的内存数量有关)。

  3. 【推荐】给 JVM 环境参数设置 -XX:+HeapDumpOnOutOfMemoryError 参数,让 JVM 碰到 OOM 场景时输出 dump 信息。
    说明:OOM 的发生是有概率的,甚至相隔数月才出现一例,出错时的堆内信息对解决问题非常有帮助。

  4. 【推荐】在线上生产环境,JVM 的 Xms 和 Xmx 设置一样大小的内存容量,避免在 GC 后调整堆大小带来的压力。

  5. 【参考】服务器内部重定向必须使用 forward;外部重定向地址必须使用 URL Broker 生成,否则因线上采用 HTTPS 协议而导致浏览器提示不安全。此外,还会带来 URL 维护不一致的问题。

posted @   超级鲨鱼辣椒  阅读(39)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开