【Tomcat线程池】线程池配置及线程分配测试

tomcat不用说,java做web比较经典的一款服务器,本片继上篇servlet详解及Tomcat中多线程下的Servlet(1)对Tomcat7和Tomcat8线程分配策略进行测试



一,设置tomcat线程池的一些参数
Tomcat目录下有个conf\service.xml


    <Executor name="tomcatThreadPool" namePrefix="zsl-catalina-exec-"
        maxThreads="150" minSpareThreads="10"/>

    <Connector  executor="tomcatThreadPool"
                port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
              />

Executor标签中属性
【namePrefix】线程命名前缀
【maxThreads】最大允许线程数
【minSpareThreads】最少空闲线程,相当于初始化的线程,线程池中d线程

Connector标签中的属性
【executor】对上面Executor标签标签的引用
【port】访问需要的端口号。
【protocol】使用的协议
【connectionTimeout】连接超时,会报错
【redirectPort】重定向端口

redirectPort
需要安全通信的场合,将把客户请求转发至SSL的redirectPort端口
http协议是不安全的 https协议是安全的
配置好SSL之后可以用过https协议通信



二,后端代码输出当前线程代码
在此,仅使用servlet进行测试,使用Thread.currentThread().getName()打印当前线程明。

package xatu.zsl.servlet;


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * Created by zsl on 2017/8/5.
 */
@WebServlet("/MyDemoServlet")
public class MyDemoServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//打印当前线程明        System.out.println(Thread.currentThread().getName());
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }

}



三,测试结果如下:

tomcat7(使用apache-tomcat-7.0.57)
这里写图片描述
这里写图片描述



tomcat8(使用apache-tomcat-8.5.16)
这里写图片描述



四。总结:

从现象上分析:
tomcat7使用的是随机分配算法
tomcat8使用的是循环分配算法
(还未查看相关源码,,日后再补。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鼠晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值