nginx+tomcat的keepalive验证、bio/nio连接比较
原文地址:https://blog.csdn.net/shi1122/article/details/50411885
最近刚好有时间找了台机器压测了一下,验证一下自己的一些想法。
很多时候我们会发现实际情况并不如我们所了解,一方面是实际情况并非完美,会受到许多环境的影响,所以结果有时与我们所学理论会相悖,更有甚者,有时在网上了解的理论本身或过时,或并不正确,所以在有机会、抑或有条件的情况,可是实验一下自己所学,这也可加深理解。
- nginx+tomcat keepalive验证
用jmeter进行压力测试,如:
根据网上的其中一种说法,只需在nginx中加上:
[html] view plain copy
proxy_http_version 1.1;
即可实现长连接,在nginx中开启了以后,抓包 :
[html] view plain copy
tcpdump tcp -i lo port 8081 -w tomcat.cap
抓包以后用wireshark看看目标请求的head,发现有connection:close,说明连接并非长连接。
继续在upstream中加上keepalive,抓包看,还是带上了connection:close。
继续在nginx中主动加上connection:keepalive,再次抓包,终于保持连接了。
抓nginx的的包,可以看到有keepalive:
- bio及nio连接下进行简单的压测
采用bio,加keepalive,500并发req的情况下:
采用nio,500并发req的情况下:
从上面的截图,可以看到结果基本跟预料的一直,bio的情况下,线程会比较多,1k多,基本比nio情况下多1k,也因此VIRT内存会占用更多,以单线程占1m,多1k线程,基本也要多占用1g左右的内存。
因此到底要用那种连接,还是要看实际情况,如果要做网络接入层,当然会用nio,不然要同时承受那么多的并发连接,哪来这么多的资源给消耗,不过估计不会有人拿它做接入层吧!
转载于:https://blog.51cto.com/summerflowers/2114827
nginx+tomcat的keepalive验证、bio/nio连接比较相关推荐
- Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式
Tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态. ...
- Apache Tomcat 7 Configuration BIO NIO AIO APR ThreadPool
Apache Tomcat 7 Configuration Reference (7.0.93) - The Executor (thread pool) https://tomcat.apache. ...
- centos7 搭建keepalived+Nginx+tomcat
准备1台 192.168.2.224 安装Nginx,2台安装tomcat 192.168.2.222 192.168.2.223 1.安装Nginx: 上传pcre-8.36.tar.gz ...
- Netty序章之BIO NIO AIO演变
Netty序章之BIO NIO AIO演变 Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能.高可靠的网络服务器和客户端程序.Netty简化了网络程序的开发,是很多框架和公司都在使用 ...
- nginx+tomcat动静分离结构
本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...
- Nginx+Tomcat+Memcached实现tomcat集群和session共享
Nginx+Tomcat+Memcached实现tomcat集群和session共享 [http://blog.csdn.net/shimiso/article/details/8979044] 为什 ...
- Nginx+Tomcat搭建集群环境
Nginx+Tomcat搭建集群环境 ZeroOne01关注0人评论33534人阅读2018-05-05 14:15:39 集群概述与架构介绍 Tomcat集群能带来什么: 提高服务的性能,例如计算处 ...
- CentOS搭建全功能服务器(Nginx+Tomcat+PHP+SSL)
本文将介绍Linux环境下如何安装Web服务基础运行环境,包括以下内容: 安装jdk 安装Tomcat 安装MySQL 安装PHP 安装Nginx 安装SSL证书 整合Nginx和Tomcat 整合完 ...
- nginx+tomcat+msm实现seesion共享
说明 上一章节 nginx+tomcat+redis负载均衡,实现session共享,本次我们使用另一种方式来实现session会话共享,以及实现一套线上运行的环境, 重定提示 本次将重点列于 mem ...
最新文章
- 图像中添加二项式分布噪声
- 干货 | 五大实例详解,携程 Redis 跨机房双向同步实践
- 休息使用Jersey –包含JAXB,异常处理和客户端程序的完整教程
- 前端学习(1672):前端系列实战课程之加速减速运动
- 蛋白结构建模与优化_最终幻想: 无中生有的蛋白质从头设计
- 阿里DNS:用LibFuzzer照亮DNS代码的死角
- 优秀的程序员是如何诞生的?
- PE格式第八讲,TLS表(线程局部存储)
- 网络 错误_微软承认Windows 10新BUG:错误显示没有网络连接
- colorUI的使用
- 淘宝用户行为分析——通过excel分析
- 《德米安》从那以后伤口很痛,但偶尔我会找到钥匙,沉入心底
- EasyExcel 实现模板导出、模板导入分析功能
- JAVAweb开发学习
- Apache Spark 3.0 结构化Streaming流编程指南
- linux磁盘检测工具
- 【matlab】矩形窗/三角窗/hanning窗/hamming窗/blackman窗的频率响应图
- C++ 小游戏 井字棋
- 处处留心皆学问,世事如棋局局新…
- Gartner 2018新技术成熟度曲线(五大技术趋势)
热门文章
- CSS 中的各种居中 (水平、垂直)
- Spring MVC笔记 添加错误页面
- Android动画之Property属性动画
- php session/完整判断是否https/对象与数组互转/文件下载
- linux的网络配置
- Cisco IOS防火墙的安全规则和配置方案
- GitHub上个最有意思的项目合集(技术清单系列)
- iis8.5 php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
- 阿里云docker hub
- ZkServer服务启动的逻辑-QuorumPeer.start