服务端优化-连接性能,io模型,web容器

本文探讨服务端优化的三个方面:Web连接性能调优,包括HTTP持久连接(Keep-Alive)的工作原理和Tomcat的相关配置;网络IO模型调优,介绍Java的NIO和AIO对性能的影响;以及Web容器调优,如切换到Undertow以提升性能。通过这些优化,可以显著提高服务端的响应速度和效率。
摘要由CSDN通过智能技术生成

1.写在前面

在上一篇文章中,我们分享了服务端调优-tomcat方向的调优。

分享了,如何对内嵌tomcat的配置进行调优等内容。

具体的详情可以查看: # 服务端优化-Tomcat调优

那我们还可以从哪些方面进行调优呢?

我们这里还可以从以下这几个方面进行调优:

  • Web连接性能调优
  • 网络IO模型调优
  • Web容器调优

那就废话不多说了,直接上正菜吧:

2.Web连接性能调优

2.1什么是长连接?

HTTP 持久连接(Keep-Alive)也叫做长连接,它是一种 TCP 的连接方式,连接会被浏览器和服务器所缓存,在下次连接同一服务器时,缓存的连接被重新使用。

由于 HTTP 是无状态的,“一次性”通信模式。所以持久连接,可以减少创建连接的开销,提高性能!

长连接是服务端与客户端协作的技术:浏览器在请求的头部添加 Connection:Keep-Alive,以此告诉服务器“我支持长连接,你支持的话就和我建立长连接吧”,而倘若服务器的确支持长连接,那么就在响应头部添加“Connection:Keep-Alive”,从而告诉浏览器“我的确也支持,那我们建立长连接吧”。

服务器还可以通过 Keep-Alive:timeout=10, max=100 的头部告诉浏览器“我希望 10 秒算超时时间,最长不能超过 100 秒”。HTTP/1.1 支持长连接,大部分浏览器和服务器也提供了长连接的支持。

可以想象,要想发起长连接,服务器和浏览器必须共同合作才可以。一方面浏览器要保持连接,另一方面服务器也不会断开连接。也就是说要想建立长连接,服务器和浏览器需要进行协商,而如何协商就要靠伟大的 HTTP 协议了。

在 Tomcat 里允许配置 Connector 【Acceptor】节点,也就是配置长连接。与长连接直接相关的有两个属性分别是:

  • keepAliveTimeout: 表示在下次请求过来之前,tomcat保持该连接多久 ,默认值20s
    • 假如客户端不断有请求过来,且为超过过期时间,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值