当前位置:首页 > 科技  > 软件

【震惊】Tomcat配置参数原来这么玩?99%的人不知道的秘密!

来源: 责编: 时间:2023-10-13 14:37:55 401观看
导读application.yml配置server: port: 8081 tomcat: maxThreads: 10 maxConnections: 10 acceptCount: 1 connectionTimeout: 3000测试1:在controller中休眠10s>connectionTimeout@RestController@Reques

application.yml配置KKS28资讯网——每日最新资讯28at.com

server:  port: 8081  tomcat:    maxThreads: 10    maxConnections: 10    acceptCount: 1      connectionTimeout: 3000

测试1:

在controller中休眠10s>connectionTimeoutKKS28资讯网——每日最新资讯28at.com

@RestController@RequestMapping("/test")public class TestController {  @GetMapping("/index")  public Object index() {    try {      System.out.println(Thread.currentThread().getName()) ;      TimeUnit.SECONDS.sleep(10) ;    } catch (InterruptedException e) {      e.printStackTrace();    }    return "success" ;  }}

发现程序能正常地响应。KKS28资讯网——每日最新资讯28at.com

结论:connectionTimeout参数与具体的请求响应时间是没有关系的。KKS28资讯网——每日最新资讯28at.com

测试2:

通过HttpURLConnection发送请求KKS28资讯网——每日最新资讯28at.com

public class HttpURLConnectionDemo {  public static void main(String[] args) throws Exception {    HttpURLConnection con = (HttpURLConnection) new URL("http://localhost:8081/test/index").openConnection() ;    con.setDoInput(true) ;    con.setDoOutput(true) ;    long start = System.currentTimeMillis() ;    InputStream is = con.getInputStream() ;    Scanner scan = new Scanner(is) ;    while(scan.hasNext()) {      System.out.println("接收到内容:" + scan.next() + "/n耗时:" + (System.currentTimeMillis() - start)) ;    }    scan.close() ;    con.disconnect() ;    con = null ;  }}

结果:KKS28资讯网——每日最新资讯28at.com

图片图片KKS28资讯网——每日最新资讯28at.com


KKS28资讯网——每日最新资讯28at.com

结论:connectionTimeout参数与什么样的客户端做连接请求没关系。KKS28资讯网——每日最新资讯28at.com

测试3:

通过Socket建立连接KKS28资讯网——每日最新资讯28at.com

public class TomcatConnectionTimeoutDemo {  public static void main(String[] args) throws Exception {    Socket socket = new Socket("127.0.0.1", 8081) ;    long start = System.currentTimeMillis() ;    InputStream is = socket.getInputStream() ;    is.read() ;    System.out.println(System.currentTimeMillis() - start ) ;  }}

运行结果:KKS28资讯网——每日最新资讯28at.com

图片图片KKS28资讯网——每日最新资讯28at.com

差不多3s后程序结束了,也就是连接断开了。接着测试:KKS28资讯网——每日最新资讯28at.com

public class TomcatConnectionTimeoutDemo {  public static void main(String[] args) throws Exception {    Socket socket = new Socket("127.0.0.1", 8081) ;    long start = System.currentTimeMillis() ;    final OutputStream os = socket.getOutputStream() ;    new Thread(() -> {      Scanner scan = new Scanner(System.in) ;      while(scan.hasNext()) {        String content = scan.next() ;        System.out.println("准备发送:" + content) ;        try {          os.write(content.getBytes()) ;          os.flush() ;        } catch (IOException e) {          e.printStackTrace() ;        }      }    }).start() ;    InputStream is = socket.getInputStream() ;    is.read() ;    System.out.println(System.currentTimeMillis() - start ) ;  }}

结果1(什么也不做):KKS28资讯网——每日最新资讯28at.com

图片图片KKS28资讯网——每日最新资讯28at.com

结果2(控制台不停的输入内容):KKS28资讯网——每日最新资讯28at.com

图片图片KKS28资讯网——每日最新资讯28at.com


KKS28资讯网——每日最新资讯28at.com

程序一开始运行,控制台不停地输入内容,发现程序一直正常,当停留3秒后在输入内容,发现程序又断开了。KKS28资讯网——每日最新资讯28at.com

结论:connectionTimeout参数是说当客户端有服务器连接以后,如果客户端不输入任何内容,那么超过了connectionTimeout设置的时间后连接会被断开。KKS28资讯网——每日最新资讯28at.com

完毕!!!KKS28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-13355-0.html【震惊】Tomcat配置参数原来这么玩?99%的人不知道的秘密!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 两个实验让我彻底弄懂了「订阅关系一致」

下一篇: 聊聊 Reddit Programming 板块的未来

标签:
  • 热门焦点
  • Automa-通过连接块来自动化你的浏览器

    1、前言通过浏览器插件可实现自动化脚本的录制与编写,具有代表性的工具就是:Selenium IDE、Katalon Recorder,对于简单的业务来说可快速实现自动化的上手工作。Selenium IDEKat
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 谷歌KDD'23工作:如何提升推荐系统Ranking模型训练稳定性

    谷歌在KDD 2023发表了一篇工作,探索了推荐系统ranking模型的训练稳定性问题,分析了造成训练稳定性存在问题的潜在原因,以及现有的一些提升模型稳定性方法的不足,并提出了一种新
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    Tech星球(微信ID:tech618)文 | 陈桥辉 Tech星球独家获悉,拼多多在其APP内上线了“本地生活”入口,位置较深,位于首页的“充值中心”内,目前主要售卖美食相关的
  • 当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己“当家”的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • OPPO K11样张首曝:千元机影像“卷”得真不错!

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
Top