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

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

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

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

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

测试1:

在controller中休眠10s>connectionTimeoutVAD28资讯网——每日最新资讯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" ;  }}

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

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

测试2:

通过HttpURLConnection发送请求VAD28资讯网——每日最新资讯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 ;  }}

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

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


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

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

测试3:

通过Socket建立连接VAD28资讯网——每日最新资讯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 ) ;  }}

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

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

差不多3s后程序结束了,也就是连接断开了。接着测试:VAD28资讯网——每日最新资讯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(什么也不做):VAD28资讯网——每日最新资讯28at.com

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

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

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


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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • SpringBoot中使用Cache提升接口性能详解

    环境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架从 3.1 开始,对 Spring 应用程序提供了透明式添加缓存的支持。和事务支持一样,抽象缓存允许一致地使用各
  • 从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • Java NIO内存映射文件:提高文件读写效率的优秀实践!

    Java的NIO库提供了内存映射文件的支持,它可以将文件映射到内存中,从而可以更快地读取和写入文件数据。本文将对Java内存映射文件进行详细的介绍和演示。内存映射文件概述内存
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • 10天营收超1亿美元,《星铁》比《原神》差在哪?

    来源:伯虎财经作者:陈平安即便你没玩过《原神》,你一定听说过的它的大名。恨它的人把《原神》开服那天称作是中国游戏史上最黑暗的一天,有粉丝因为索尼在PS平台上线《原神》,怒而
  • OPPO K11搭载长寿版100W超级闪充:26分钟充满100%

    据此前官方宣布,OPPO将于7月25日也就是今天下午14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖
Top