原文地址:https://blog.csdn.net/shi1122/article/details/50411885
最近刚好有时间找了台机器压测了一下,验证一下自己的一些想法。

很多时候我们会发现实际情况并不如我们所了解,一方面是实际情况并非完美,会受到许多环境的影响,所以结果有时与我们所学理论会相悖,更有甚者,有时在网上了解的理论本身或过时,或并不正确,所以在有机会、抑或有条件的情况,可是实验一下自己所学,这也可加深理解。

  1. 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:

  1. 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连接比较相关推荐

  1. Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式

    Tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态. ...

  2. Apache Tomcat 7 Configuration BIO NIO AIO APR ThreadPool

    Apache Tomcat 7 Configuration Reference (7.0.93) - The Executor (thread pool) https://tomcat.apache. ...

  3. 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 ...

  4. Netty序章之BIO NIO AIO演变

    Netty序章之BIO NIO AIO演变 Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能.高可靠的网络服务器和客户端程序.Netty简化了网络程序的开发,是很多框架和公司都在使用 ...

  5. nginx+tomcat动静分离结构

    本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...

  6. Nginx+Tomcat+Memcached实现tomcat集群和session共享

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 [http://blog.csdn.net/shimiso/article/details/8979044] 为什 ...

  7. Nginx+Tomcat搭建集群环境

    Nginx+Tomcat搭建集群环境 ZeroOne01关注0人评论33534人阅读2018-05-05 14:15:39 集群概述与架构介绍 Tomcat集群能带来什么: 提高服务的性能,例如计算处 ...

  8. CentOS搭建全功能服务器(Nginx+Tomcat+PHP+SSL)

    本文将介绍Linux环境下如何安装Web服务基础运行环境,包括以下内容: 安装jdk 安装Tomcat 安装MySQL 安装PHP 安装Nginx 安装SSL证书 整合Nginx和Tomcat 整合完 ...

  9. nginx+tomcat+msm实现seesion共享

    说明 上一章节 nginx+tomcat+redis负载均衡,实现session共享,本次我们使用另一种方式来实现session会话共享,以及实现一套线上运行的环境, 重定提示 本次将重点列于 mem ...

最新文章

  1. 图像中添加二项式分布噪声
  2. 干货 | 五大实例详解,携程 Redis 跨机房双向同步实践
  3. 休息使用Jersey –包含JAXB,异常处理和客户端程序的完整教程
  4. 前端学习(1672):前端系列实战课程之加速减速运动
  5. 蛋白结构建模与优化_最终幻想: 无中生有的蛋白质从头设计
  6. 阿里DNS:用LibFuzzer照亮DNS代码的死角
  7. 优秀的程序员是如何诞生的?
  8. PE格式第八讲,TLS表(线程局部存储)
  9. 网络 错误_微软承认Windows 10新BUG:错误显示没有网络连接
  10. colorUI的使用
  11. 淘宝用户行为分析——通过excel分析
  12. 《德米安》从那以后伤口很痛,但偶尔我会找到钥匙,沉入心底
  13. EasyExcel 实现模板导出、模板导入分析功能
  14. JAVAweb开发学习
  15. Apache Spark 3.0 结构化Streaming流编程指南
  16. linux磁盘检测工具
  17. 【matlab】矩形窗/三角窗/hanning窗/hamming窗/blackman窗的频率响应图
  18. C++ 小游戏 井字棋
  19. 处处留心皆学问,世事如棋局局新…
  20. Gartner 2018新技术成熟度曲线(五大技术趋势)

热门文章

  1. CSS 中的各种居中 (水平、垂直)
  2. Spring MVC笔记 添加错误页面
  3. Android动画之Property属性动画
  4. php session/完整判断是否https/对象与数组互转/文件下载
  5. linux的网络配置
  6. Cisco IOS防火墙的安全规则和配置方案
  7. GitHub上个最有意思的项目合集(技术清单系列)
  8. iis8.5 php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
  9. 阿里云docker hub
  10. ZkServer服务启动的逻辑-QuorumPeer.start