0


tomcat部署优化与压力测试软件

  • tomcat简介- apache软件基金会的jakarta项目中的一个核心项目。- 优点- 开源免费- 轻量级- 对动态网页处理能力较强- 能独立运行- tomcat核心组件- web容器- 对http的请求做处理- servlet容器- 名为catalina,处理servlet代码- JSP容器- 将动态网页代码翻译成servlet代码- tomcat的Catalina架构- - 1,server- 代表整个Tomcat容器,是整个容器的最顶(最外层)。 server只能有一个!- Server的主要任务,就是提供一个接口让客户端能够访问到这个Service集合,同时维护它所包含的所有的Service的声明周期,包括如何初始化、如何结束服务、如何找到客户端要访问的Service。- 2,service- 将connector和engine包裹起来,将两个容器组装起来, 在一个service中可以有多个connector, 但是Engine只能有一个。- 不同的service监听不同的端口,可以做基于端口的虚拟主机。- 3,Connector- 接收连接请求,应答解析后的结果。通过相关配置,可以配置service的协议与端口号。- 4,Engine- 该组件在service中有且只有一个,负责接收connector发送给过来的请求并选择响应的host容器进行处理。- 5,Host- Host是Engine的子容器,在Engine中可以被放置多个,每一个Host代表表一个网站站点(或者是基于域名的虚拟主机),- Host组件至少有一个,且其中一个的name必须与Engine组件的defaultHost属性相匹配。- 在Engine部分指出的默认主机(也就是通用匹配),这样设定是为了确保,即便请求信息不足以直接匹配到某个特定的Host,Tomcat也能有确定的默认处理路径,不会因为找不到合适的处理目标而导致请求失败。- 6,Context- 代表在虚拟主机上运行的一个web应用,应用可以是war包,在Host下可以定义任意多的Context元素。- 7,warapper- 容器最底层,每一个warapper都封装了一个servlet,负责对象实例的创建,执行,销毁功能。- 用户请求流程- 1:用户在浏览器中输入网址,请求被发送到本机端口8080,被在那里监听的Connector获得; 2:Connector把该请求交给它所在的Service 的 Engine (Container)来处理,并等待Engine 的回应; 3:请求在Engine、Host、Context和 Wrapper 这四个容器之间层层调用,最后在Servlet 中执行对应的业务逻辑、数据存储等。 4:执行完之后的请求响应在Context、Host、Engine 容器之间层层返回,最后返回给Connector,并通过Connector返回给客户端。- 部署tomcat- 准备前奏- 版本:9.0.8- jdk版本- java在各个平台的解压即用版本。- 添加策略或关闭防火墙,关闭内核安全机制。- 下载并安装jdk- rpm -ivh jdk-8u171-linux-x64.rpm- 在profile中设置其环境变量- export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64- 定义了java家目录- export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib- 定义了java类库(lib)的位置- export PATH=$JAVA_HOME/bin:$PATH- 定义了Java的命令路径- 设置完后重新加载一下该文件- 否则重新登陆后才生效- java -version- 查看一下版本信息- 安装tomcat服务- 解压后移动重命名到常用目录下即可例如:/usr/local/tomcat- 利用软链接路径的方式将bin下的软件连接到对应目录可进行快速启动。- startup.sh- shutdown.sh- catalina.sh- startup.sh- 启动后查询网络服务java看是否运行- - - 8005端口是用于命令行关闭Tomcat服务 8009 Tomcat服务器通过Connector连接器组件与客户程序建立连接使用的端口 8080是Tomcat的web服务端默认口号 - 可以用8080端口进行访问测试看服务是否正常- 优化tomcat初次加载速度慢- /usr/java/jdk1.8.0_171-amd64/jre/lib/security/java.security 找到将其修改称该方式即可。 securerandom.source=file:/dev/urandom- tomcat目录结构- - bin 目录:用于存放启动和关闭 Tomcat 的脚本文件,比较常用的是 catalina.sh、startup.sh、shutdown.sh 三个文件。- conf 目录:用于存放 Tomcat 服务器的各种配置文件,比较常用的是 server.xml、context.xml、tomcat-users.xml、web.xml 四个文件。- lib 目录:用于存放 Tomcat 服务器的 jar 包,一般不作任何改动,除非连接第三方服务,比如 redis,那就需要添加相对应的 jar 包。- logs 目录:用于存放 Tomcat 日志。- temp 目录:用于存放 Tomcat 运行时产生的文件。- webapps 目录:用于存放项目资源的目录。- 该目录下能自动解压war包与jar包,但是不能放到子一级的目录中。- work 目录:是 Tomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到- tomcat做虚拟主机- server.xml配置文件- 优化该文件,提前做备份!!!- 做备份- cp server.xml server.xml.bak- 去掉注释- perl -0777 -pe 's/<!--.?-->//gs' server.xml > server.xml.nocomments- 去掉空行- sed -i '/^[[:space:]]$/d' server.xml.nocomments- 优化过后- Host部分大概7行- service部分大概12行- Host容器部分- 通过Context容器能指定网站文档应用目录- <Context docBase="/usr/local/tomcat/webapps/bbs" path="" reloadable="true" />- docBase:网页内容目录- path:虚拟目录- reloadable:修改类库后会被直接重载- 基于域名- 在Engine容器中复制多个Host容器即可- - 修改name即可,并且指定出Context即可- 基于端口- 复制多个service即可- - 修改其中的8080端口保证不冲突即可- 压力测试软件与tomcat优化- - 在Windows中解压后jdk需要安装,jmater解压缩后找到启动器,jmater.bat启动即可 - 测试软件调试步骤- 添加线程组- - - 设置发送数量, 标识1:用几个线程发送,代表了几个用户- 标识2:在单位时间内发送的次数- 标识3:循环几次 三者相乘的总数越大测试的结果就越精准。- 选择聚核报告会以数字的方式列出数据 每一次测试后都需要清理数据,否则数据结果会被叠加!!!- 设置完毕后绿色按钮开始运行,再次出现绿色按钮表示测试结束,结束后稍等片刻,就可以在聚合报告中查看结果。- - 红色依次表示,平均响应时间,处理出错率,吞吐量。这几个具有参考价值。- tomcat优化- minSpareThreads="50"- 最小备用线程数。即使没有请求处理,Tomcat也会保持至少50个线程等待,以便快速响应新请求。- enableLookups="false"- 禁用DNS查询。对于每个连接,Tomcat默认会尝试解析远程主机的IP地址到主机名,禁用此功能可以提高性能。- disableUploadTimeout="true"- 禁止上传超时。这意味着Servlet容器在处理POST请求的上传数据时不设置超时限制。- acceptCount="300"- 当所有可用线程都在使用时,Tomcat会将额外的连接请求放入队列中,这个值指定了队列的最大长度。- maxThreads="500"- 最大工作线程数。这是Tomcat能够同时处理请求的最大并发线程数。- processorCache="500"- 这是一个优化参数,用于缓存创建的HttpProcessor对象的数量,可以提升处理请求的效率。- URIEncoding="UTF-8"- compression="on"- 启用HTTP响应压缩。这可以减小传输数据的大小,从而加快页面加载速度。- compressionMinSize="2048"- 只有当响应体的大小超过2KB时,才会进行压缩。这避免了小响应的压缩开销。- compressableMimeType="text/html,text/xml,text/javascript,text/css,tex t/plain,image/gif,image/jpg,image/png" />- 指定了哪些类型的MIME内容可以被压缩。这里包括了常见的文本和图像类型,压缩这些内容可以显著减少带宽使用。

本文转载自: https://blog.csdn.net/Q7758521adc/article/details/139834654
版权归原作者 星耀寰宇x 所有, 如有侵权,请联系我们删除。

“tomcat部署优化与压力测试软件”的评论:

还没有评论