长连接与短连接以及线程数相关的比较

连接,以及,线程,相关,比较 · 浏览次数 : 164

小编点评

## 长连接与短连接性能比较摘要对比 **Nginx vs Tomcat:** | 特征 | Nginx | Tomcat | |---|---|---| | 连接类型 | 长连接 | 短连接 | | 连接建立 | 两步连接:TCP 建立 + TCP 连接关闭 | 仅建立 TCP 连接 | | 连接关闭 | 窗口机制,连接自动关闭 | 手动关闭连接 | | 性能 | 稍慢但更稳定 | 更快但容易出现连接中断 | | 线程支持 | 单线程 | 多线程 | | 测试结果 | nginx-8线程-短连接TPSnginx-1线程-短连接TPS20KB66418947239226.9518080.657.5MB672313703.36326.84 | nginx-8线程-短连接TPSnginx-8线程-短连接TPS20KB4409470326641894727.5MB585220.61672313 | **文件大小:** | 文件大小 | tomcat-TPStomcat-短连接TPSnginx-TPSnginx-短连接TPS20KB4409470326641894727.5MB585220.61672313 | nginx-8线程-TPSnginx-8线程-短连接TPSnginx-1线程-短连接TPS20KB66418947239226.9518080.657.5MB672313703.36326.84 | **结论:** * 长连接可能比短连接更稳定,但需要考虑连接建立时间和性能平衡。 * 单线程对多线程能够明显提高TPS吞吐量,但单个线程的相应时间可能会有所下降。 * 适当的配置仍然非常重要,测试方法可根据实际情况进行调整。

正文

长连接与短连接以及线程数相关的比较


摘要

对比了nginx与tomcat作为静态业务服务的性能之后
突然又想比较一下 长连接与否的性能情况. 

很多时候恰当的配置还是非常重要的. 

测试方法

分别使用长连接和短连接进行测试工作. 

主要命令为:
短连接
ab -c 1000 -n 50000 -r http://127.0.0.1:5201/zhaobsh.html
长连接
ab -c 1000 -n 50000 -k http://127.0.0.1:5201/zhaobsh.html

需要注意 部分服务器 不适用长连接会失败.. 这里仅是一个简单的验证

测试结果

单纯测试查看TPS就可以相应时间就是一个取反的过程.

文件大小 tomcat-TPS tomcat-短连接TPS nginx-TPS nginx-短连接TPS
20KB 44094 7032 66418 9472
7.5MB 585 220.61 672 313
文件大小 nginx-8线程-TPS nginx-8线程-短连接TPS nginx-1线程-TPS nginx-1线程-短连接TPS
20KB 66418 9472 39226.95 18080.65
7.5MB 672 313 703.36 326.84

测试结果简析

同一台机器的情况下. 短连接可能表示不是很好. 
毕竟有TCP建立与关闭连接. 

单线程对多线程 能够明显提高TPS吞吐量
但是单个线程的相应时间 其实肯能会有所下降的. 

与长连接与短连接以及线程数相关的比较相似的内容:

长连接与短连接以及线程数相关的比较

长连接与短连接以及线程数相关的比较 摘要 对比了nginx与tomcat作为静态业务服务的性能之后 突然又想比较一下 长连接与否的性能情况. 很多时候恰当的配置还是非常重要的. 测试方法 分别使用长连接和短连接进行测试工作. 主要命令为: 短连接 ab -c 1000 -n 50000 -r htt

[转帖]网络编程之长连接 、短连接、心跳机制与断线重连

https://cloud.tencent.com/developer/article/1953996?areaSource=104001.94&traceId=7WZNP412yK3vh7ebw4th0 概述 可承遇到,不知什么原因,一个夜晚,机房中,大片的远程调用连接断开。 第二天早上,用户访问

[转帖]MySQL 线程池&连接池&长连接&短连接

https://cloud.tencent.com/developer/article/1954015?areaSource=104001.77&traceId=7WZNP412yK3vh7ebw4th0 线程池 简介 1、mysql每连接每线程,mysql都分配一个单独的线程,该线程处理客户端发来

nginx在代理到upstream时转换http1.1为http1.0,长连接转为短连接

# nginx在代理到upstream时的默认行为 最近准备用openresty替换nginx,替换的效果当然是需要保证效果和nginx一致,不然可能就会导致线上在用的服务出现问题。 替换成openresty后,在本地进行了一个请求,header如下: ```http POST /servlet/j

http1.1 的默认长连接 Connection: keep-alive 与 TCP KeepAlive 之间区别

HTTP 长连接,也称为 HTTP 持久连接(HTTP Persistent Connection)或 HTTP 连接重用,是一种在 HTTP 协议中实现的机制。 在传统的 HTTP 通信中,每个 HTTP 请求和响应都会伴随着 TCP 连接的建立和关闭,这在高并发场景下会增加网络开销和延迟。 而

长连接:chatgpt流式响应背后的逻辑

提起长连接,我们并不陌生,最常见的长连接非websocket莫属了。即使没有在项目中实际用过,至少也应该有所接触。长连接指在一次网络通信中,客户端与服务器之间建立一条持久的连接,可以在多次请求和响应中重复使用该连接。

聊聊Zookeeper的Session会话超时重连

### 概述 简单地说,ZooKeeper的连接与会话就是客户端通过实例化ZooKeeper对象来实现客户端与服务器创建并保持TCP连接的过程。本质上,Session就是一个TCP 长连接。 ### 会话 Session会话的作用: 1. ZK Server 执行任何请求之前,都需要 Client

【Azure Redis 缓存】Lettuce 连接到Azure Redis服务,出现15分钟Timeout问题

问题描述 在Java应用中,使用 Lettuce 作为客户端SDK与Azure Redis 服务连接,当遇见连接断开后,长达15分钟才会重连。导致应用在长达15分的时间,持续报错Timeout 问题解答 这是 Lettuce 目前的一个未解决的已知问题,可以查看此 github issue来了解这个

Mysql数据库部分管理命令极简学习总结

背景 今天遇到一个得很奇怪的问题. Mysql一个运行时间很长的select阻塞了对select里面左连接表做create index 操作的SQL 当时感觉不应该, 一直以为读锁不会与独占更新锁互斥. 经过与公司数据库大牛沟通, 得出结论如下: 在mysql做ddl语句的时候一定要特别小心 sel

长连接Netty服务内存泄漏,看我如何一步步捉“虫”解决

事情要回顾到双11.11备战前夕,在那个风雨交加的夜晚,一个急促的咚咚报警,惊破了电闪雷鸣的黑夜,将沉浸在梦香,熟睡的我惊醒。