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

    线程池优化:

      1>ulimit  -a

        修改: /etc/security/limits.conf

      2>添加maxConnections的配置   ()

        对CPU要求更高时,建议不要配置过大

        对CPU要求不是那么特别高,建议配置3000左右  (默认为10000)

        配置文件:server.xml------->connector

      3>maxTreads 最大线程数   默认为200;  建议:500~700

      4>acceptCount 最大排队等待数  

    acceptCount比作前厅(容纳取到号的人)、maxConnections比作大厅(容纳买到票的人)、maxThreads比作影厅(可以理解一个影厅只容纳一个人,因为一个线程同时只处理一个请求)

    以下场景是针对已达到maxConnections最大值来讨论的:

    1)取号:如果前厅人数已达到acceptCount,则拿号失败,会得到Connection refused connect的回复信息。反之则会进入前厅,等待买票。

    2)买票:当大厅人数小于maxConnections时,前厅的人就可以进入大厅

    3)观影:当影厅的人离开时,大厅的部分人能进入影厅,一般来讲大厅的容量要远大于影厅的数量。

    tomcat三种模式:

    BIO:最稳定最老的一个连接器,使用阻塞形式处理request请求

    NIO:使用JAVA的异步IO技术,进行非阻塞形式处理request请求

    APR:原生C语言编写的非堵塞I/O,目前性能最理想------------->对于高并发的请求,性能波动较稳定

    APR安装:

      1>依赖:yum -y install expat  expat-devel

      2>安装顺序: apr  -----   apr-iconv ----- apr-util     (找对应的编译包安装)

    tomcat集群

    为什么要搭建tomcat集群: 可以让session共享

    tomcat集群方式:

      1>apache tomcat clustering

      2>JWT等类似机制(解决了集群形式下分布式session存在的问题)

      3>MSM(memcache的session管理)、Tomcat+redis等统一管理session管理

     

    配置集群:   tomcat.apache.org 官网地址,官网有具体文档

  • 相关阅读:
    魔兽争霸RPG地图开发教程2
    魔兽争霸RPG地图开发教程1
    php mysql decimal 多余的0 解决方案
    windows下创建子进程过程中代码重复执行问题
    python多进程的理解 multiprocessing Process join run
    进程和线程的概念、区别和联系
    Python中的魔术方法详解(双下方法)
    socketserver源码剖析
    Socketserver详解
    全网最详细python中socket套接字send与sendall的区别
  • 原文地址:https://www.cnblogs.com/byfboke/p/10737647.html
Copyright © 2011-2022 走看看