zoukankan      html  css  js  c++  java
  • tomcat调优

    tomcat的3种运行模式:
    bio:
    默认的模式,性能非常低下,没有经过任何优化处理和支持.
    nio:
    nio(new I/O),是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。
    apr:
    安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.
    启动NIO模式
    修改server.xml里的Connector节点,修改protocol为org.apache.coyote.http11.Http11NioProtocol

    执行器优化-线程池

    在tomcat中每一个用户请求都是一个线程,所以可以使用线程池提高性能。
    开启并且使用,配置如下:

    在Connector中指定使用共享线程池

     

    Executor重要参数说明:
    name:共享线程池的名字。这是Connector为了共享线程池要引用的名字,该名字必须唯一。默认值:None;
    namePrefix:在JVM上,每个运行线程都可以有一个name 字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追加到这一前缀的后面。默认值:tomcat-exec-;
    maxThreads:该线程池可以容纳的最大线程数。默认值:200;
    maxIdleTime:在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位。只有当前活跃的线程数大于minSpareThread的值,才会关闭空闲线程。默认值:60000(一分钟)。
    minSpareThreads:Tomcat应该始终打开的最小不活跃线程数。默认值:25。
    threadPriority:线程的等级。默认是Thread.NORM_PRIORITY
    Connector重要参数说明:
    executor:表示使用该参数值对应的线程池;
    minProcessors:服务器启动时创建的处理请求的线程数;
    maxProcessors:最大可以创建的处理请求的线程数;
    acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。

    参数最佳实践

    完成上面几步对Tomcat的优化配置,Tomcat服务器并发量会有大幅度的提升。而这只是简单的配置,后续还会有针对JVM的专项介绍。另外,JVM参数也是影响Tomcat性能的一个重要因素,所以要结合调优。

  • 相关阅读:
    BZOJ_4320_ShangHai2006 Homework_分块
    BZOJ_3362_[Usaco2004 Feb]Navigation Nightmare 导航噩梦_并查集
    BZOJ_2788_[Poi2012]Festival_差分约束+tarjan+floyed
    BZOJ_2795_[Poi2012]A Horrible Poem_hash+暴力
    BZOJ_1598_[Usaco2008 Mar]牛跑步_A*
    [转载]java匿名对象
    [转载]static in Java
    Bat批处理文件入门
    在set中放入自定义类型
    [转载]C++STL概述
  • 原文地址:https://www.cnblogs.com/sunshinekevin/p/10549833.html
Copyright © 2011-2022 走看看