首页 > 其他分享 >Tomcat

Tomcat

时间:2023-04-14 10:15:26浏览次数:49  
标签:Tomcat tomcat 并发 线程 https 用户数

问题及解决

严重 [localhost-startStop-1] org.apache.jasper.EmbeddedServletOptions.<init> 

The scratchDir you specified: [/Users/Jack/Desktop/apache-tomcat-8.5.32/work/Catalina/localhost/host-manager] 
is unusable.

The scratchDir you specified is unusable.

 

内存不够

There is insufficient memory for the Java Runtime Environment to continue.

 

内存不够,看看是不是没有开启虚拟内存, 参考系统如何开启虚拟内存

 

 

需要以管理员启动

 

修改启动批处理的标题

编辑 apache-tomcat-8.5.32/bin/catalina.bat, 大约在 L109 行

 

setlocal

rem 添加如下这句启动代码
set TITLE="Jenkins服务器"

安装成系统服务

v8.5.32下载地址

https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.32/bin/

 

安装成服务

【Tomcat 系统服务】将tomcat设置为系统服务,并且开机自启 + 卸载tomcat服务

https://www.cnblogs.com/sxdcgaq8080/p/6023040.html

 

可能需要配置 JAVA_HOME 环境变量:

修改 startup.bat, shutdown.bat 添加如下语句:

SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181

SET CATALINA_HOME=C:\tools\apache-tomcat-8.5.32

修改 services.bat, 找到 SERVICE_NAME 的位置,然后复制下列代码:

SET CATALINA_HOME=D:\tools\tomcat-ds-parser

SET SERVICE_NAME=ds-parser

SET DISPLAYNAME=ds-parser

 

service.bat install ds-parser

安装的服务形如:

Apache Tomcat 8.5 ds-parser

 

 

tomcat8 安装成 服务 与 直接运行 批处理 的区别
tomcat 服务与直接运行的区别

tomcat服务模式运行和控制台模式运行的区别

    没有区别
    可以实现

子站点的部署

详细的解释:

https://www.cnblogs.com/ysocean/p/6893446.html#_label4

方式一 直接拷贝

方式二

在 conf/server.xml 添加 

<Context debug=0  docBase="webapps/cas" path="/cas"   reloadable="true" ></Context>

方式三

在 conf/Catalina/localhost/hnxtl.xml 添加如下内容:

 

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/hnxtl" docBase="/Users/jack/Documents/project/hnxtl" debug="0" privileged="true">

</Context>

直接bat中指定 jdk 路径

 

rem --------------------------------------------------------------------------- 
rem Set CLASSPATH and Java options 
rem 
rem $Id: setclasspath.bat 730396 2008-12-31 13:49:30Z markt $ 
rem --------------------------------------------------------------------------- 

set JAVA_HOME=C:\Java\jdk1.60 
set JRE_HOME=C:\Java\jre1.60 

原文:https://blog.csdn.net/a597926661/article/details/8558342

 

 

tomcat8 之前 context讲解

https://www.cnblogs.com/wangxiaoyang/p/3627799.html

部署多个tomcat

1. 修改端口

   将

SHUTDOWN: 8005,

Connector: 8080,

AJP: 8009

修改为其他未占用的端口

jenkins 部署账号

conf/tomcat-users.xml

  ...
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>  
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="admin" password="admin" roles="manager,manager-script,manager-gui"/>  
</tomcat-users>

 

开机启动

win10 开机目录:

C:\Users\YXH\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Centos 7 下部署记录

// 已安装tomcat进程
ps -ef |grep tomcat

kill -9 27451

 

带调试信息的启动信息:

sudo sh catalina.sh run

解压包安装

找到下载地址
https://tomcat.apache.org/download-80.cgi

wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.zip


tar -zxvf apache-tomcat-8.5.16.tar.gz 

./startup.sh 

 

修改程序标题

catalina.bat

if not "%OS%" == "Windows_NT" goto noTitle

if "%TITLE%" == "" set TITLE=新田岭-安全管理平台

 

 

参考博客:

https://blog.csdn.net/suyebiubiu/article/details/78585789

 

 

采用 yum 方式安装的tomcat,启动日志查看(不推荐用yum安装,好难看日志,建议采用 解压版本,直接运行即可)

yum -y install tomcat
yum list | grep tomcat
1. Tomcat的部署包存放的路径&nbsp;
cd /var/lib/tomcat/webapps/&nbsp;


2. Tomcat的配置文件路径&nbsp;
/etc/tomcat/&nbsp;


service tomcat start
service tomcat stop
service tomcat restart


tail -f /usr/share/tomcat/logs/catalina.log

https://blog.csdn.net/zk_1325572803/article/details/78752051

 

运维经验

https://www.v2ex.com/t/402220

独立的部署方便,重启 tomcat 互不影响

 

tomcat 的日志

https://www.cnblogs.com/qlqwjy/p/8036091.html

 

Tomcat8 安全配置与性能优化

https://blog.csdn.net/qq_29663071/article/details/79789615

 

Tomcat性能

Tomcat性能分析

https://www.cnblogs.com/qlqwjy/p/8040296.html

 

Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。
当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。
https://blog.csdn.net/ibcve/article/details/79172713

 

操作系统对于进程中的线程数有一定的限制:
Windows 每个进程中的线程数不允许超过 2000

 

性能测试工具

loadrunner

 

系统吞吐量(TPS)、用户并发量、性能测试概念和公式

https://cloud.tencent.com/developer/article/1378205

 

经典公式1: 一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据

1)平均并发用户数为 C = nL/T 2)并发用户数峰值 C‘ = C + 3*根号C C是平均并发用户数,n是login session的数量,L是login session的平均长度,T是值考察的时间长度 C’是并发用户数峰值

举例1,假设系统A,该系统有3000个用户,平均每天大概有400个用户要访问该系统(可以从系统日志从获得),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4小时,而在一天之内,用户只有在8小时之内会使用该系统。 那么, 平均并发用户数为:C = 4004/8 = 200 并发用户数峰值为:C‘ = 200 + 3根号200 = 243

举例2, 某公司为其170000名员工设计了一个薪酬系统,员工可进入该系统查询自己的薪酬信息,但并不是每个人都会用这个系统,假设只有50%的人会定期用该系统,这些人里面有70%是在每个月的最后一周使用一次该系统,且平均使用系统时间为5分钟。 则一个月最后一周的平均并发用户数为(朝九晚五): n = 1700000.50.7/5 = 11900 C= 11900*5/60/8 = 124

吞吐量计算为:F = Vu * R / T 单位为个/s F为事务吞吐量,Vu为虚拟用户数个数,R为每个虚拟用户发出的请求数,T为处理这些请求所花费的时间

二、通用公式2: 对绝大多数场景,我们用(用户总量/统计时间)影响因子(一般为3)来进行估算并发量。 比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为5000080%/(36060)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大!

三、根据PV计算公式: 比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为: 1000w80%/(93600)=246.92个/s,取经验因子3,则并发量应为: 246.92*3=740

四、根据TPS估计: 公式为 C = (Think time + 1)*TPS

五、根据系统用户数计算: 并发用户数 = 系统最大在线用户数的8%到12% 备注:本人目前在网上只找到了这5种,计算并发用户数的方法,其他计算方法,欢迎大家留言补充、

 

 

【调优操作】

1.Executor 配置 1.1 maxThreads ,默认是200,把这个设置这个数值,可以再高一些。400,800都试试。会有瓶颈。 2.HTTP Connector 设置 2.1 acceptCount 默认是100,调高,翻几倍试试 2.2 acceptorThreadCount 默认是1,调成CPU线程数,比如4核心8线程,就调成8. 2.3 maxThreads 默认是200,调高 2.4 processorCache 如果使用servlet3.0,配置到和 maxThread 一样 任何和缓冲区相关的配置都可以调大。 JVM参数尽量调大,各代配合合适的内存回收算法。

 

 

 

@RestController

默认为单例对象,为了性能调优

 

tomcatThreadPool 

线程池

https://www.cnblogs.com/alterem/p/11319335.html

 

name:共享线程池的名字。这是Connector为了共享线程池要引用的名字,该名字必须唯一。默认值:None;
namePrefix:在JVM上,每个运行线程都可以有一个name 字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追加到这一前缀的后面。默认值:tomcat-exec-;
maxThreads:该线程池可以容纳的最大线程数。默认值:200;

executor:表示使用该参数值对应的线程池;
minProcessors:服务器启动时创建的处理请求的线程数;

 

Tomcat优化系列-配置tomcatThreadPool

https://blog.csdn.net/weixin_44062339/article/details/103227384

标签:Tomcat,tomcat,并发,线程,https,用户数
From: https://www.cnblogs.com/lvye1221/p/17317407.html

相关文章

  • Tomcat修改端口号(借鉴)
    tomcat默认端口号是8080,为了不和其他应用设置的端口冲突,可以通过tomcat的配置文件server.xml修改一、找到server.xml文件tomcat安装目录下的conf文件夹:我的是D:\ProgramFiles\ApacheSoftwareFoundation\Tomcat7.0\conf,打开server.xml配置文件。二、修改server.xml文件1,修......
  • Linux环境tomcat安装步骤详细教程
    下载tomcat包:https://tomcat.apache.org/tomcat-10.1-doc/index.html将下载的安装包放至linux环境的/usr/local/tomcat目录下:执行解压命令tar-xvfapache-tomcat-9.0.73.tar.gz将解压出来的目录改名为tomcat9,然后进入tomcat9/bin目录,执行./startup.sh命令启动tomcat:执行启动命令......
  • tomcat 双亲委托机制
    tomcat著名的双亲委托机制就是有类需要加载时就委托父类去加载一直到顶级的Bootstrap都没有自己才加载,自己也没有就报错类加载器BootstrapClassLoader:JVM内置的类加载器,用来加载Java核心类库,例如rt.jar、resources.jar等等。ExtensionClassLoader:用来加载Java扩展类......
  • 如何访问tomcat中的项目
    访问tomcat中web项目将java项目打成war后,放入webapps目录中,然后在bin目录中找到startup.bat,因为我是在windows环境中演示,所以用bat结尾的脚本启动tomcat,关闭的脚本是shutdown.bat。如果是在Linux环境下,则使用startup.sh脚本启动,关闭的脚本是shutdown.sh。将tomcat启动后,tomca......
  • 关于Tomcat服务器的目录
    关于Tomcat服务器的目录bin:这个目录是Tomcat服务器的命令文件存放的目录,比如:启动Tomcat,关闭Tomcat等。conf:这个目录是Tomcat服务器的配置文件存放目录。(server.xml文件中可以看到配置端口号,默认Tomcat端口号8080)lib:这个目录是Tomcat服务器的核心程序目录,因为Tomcat服务器是j......
  • nginx+tomcat双端口实现负载均衡
    nginx基础配置---点击tomcat基础配置---点击上述配置完成之后进行对tomcat配置不同端口tomcat设置端口#移动tomcat设置两个主目录[root@lyxlocal]#mvapache-tomcat-8.5.79tomcat-home[root@lyxlocal]#cp-Rtomcat-hometomcat-8080[root@lyxlocal]#cp-Rtomcat-home......
  • Tomcat彻底卸载干净
    1.首先直接删除原来的文件2.打开注册表 3.全局搜索Tomcat,删除对应的注册表4.之后以管理员身份打开任务管理器,输入scdeletetomcat10删除全部 ......
  • 关于Tomcat9和Tomcat10的了解
    就离谱在我使用Tomcat10之前,我是没有想到9和10的差距可以这么大!习惯了使用Maven项目以及版本9的Tomcat,将相关的依赖习惯于导成javax;使用10的时候,html页面怎么也跳转不到servlet后台里面去,就很麻;找了好久,才找到解决办法:版本不同,导的包需要从原来的javax换乘jakarta全部推翻重......
  • docker 部署 tomcat
    拉取tomcat镜像dockerpulltomcat:latest运行tomcatdockerrun-d-p8090:8080--nametomcat_doc-v/root/web/:/usr/local/tomcat/webappstomcat:latest......
  • Tomcat安装
    一、安装1、安装包下载https://archive.apache.org/dist/tomcat/tomcat-10/v10.0.6/bin/2、将apache-tomcat-10.0.6.tar.gz上传至/opt/softmkdir-p/opt/softmkdir-p/opt/module3、解压tar-zxvf/opt/soft/apache-tomcat-10.0.6.tar.gz-C/opt/module4、启......