性能测试二十:环境部署之Tomcat多实例部署+日志监控
一个tomcat性能有限,所以需要部署等多个tomcat
单实例部署
与windows下类似,项目包放到webapp目录下,启动bin目录下的startup.sh即可
启动命令:./startup.sh
启动并实时监控日志:./startup.sh & tail -f ../logs/catalina.out
多实例部署
1,先创建一个存放项目包的目录,如:mkdir -p /export/apps
2,将原来tomcat目录下webapps下的项目包移到apps目录下
3,修改tomcat的配置文件,打开conf目录下的server.xml,搜索appBase,将appBase=后的路径修改为存放项目包的路径
3,将tomcat复制2份,tomcat-server-1,tomcat-server-2
4,修改tomcat-server-2里的server.xml,修改以下三个端口,与tomcat-server-1区分开
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
<Connector port="8009" protocol="AJP/1.3"
5,启动2个tomcat,在tomcat的bin目录下,执行命令:
./startup.sh & tail -f ../log/catalina.out
启动tomcat的同时,查看启动过程中是否有报错,第一次启动时可能没有catalina.out,可以先启动后再看日志
多个tomcat部署
这是之前给项目部署的单个tomcat

现在,要为之前部署的想不部署两个tomcat:
为了方便辨认,把tomcat重新命名:mv apache-tomcat-7.0.72/ tomcat-1

把tomcat复制一份:cp -r tomcat-1/ tomcat-2

此时tomcat-2下也有项目,这样的话会比较麻烦,比如项目更新的时候,部署了多个tomcat,那么每一个tomcat下的项目都要去更新

把项目抽离出来单独创建一个目录,每个tomcat都指向项目所在的目录
在home目录下,创建一个叫apps的目录,专门用来存放项目


对对应的项目创建文件夹

回到tomcat目录下,把项目移到刚刚创建的目录下

删掉tomcat-2下面的项目

因为tomcat默认读取项目是在webapps下面,所以要去修改读取位置




修改为要运行的项目的目录

重启tomcat,重启之前,先执行命令 ps -ef|gref tomcat 看看tomcat是否已经启动,如果已经启动,则kil掉再启动,否则会报错


使用 tail -f 实时监控启动日志,看有没有报错,tomcat的日志存放在logs/下
执行命令:./startup.sh & tail -f ../logs/catalina.out

启动完成

进程存在,访问项目接口也成功,说明启动成功


tomcat-2:由于tomcat-1已经占用了8080端口,所以tomcat-2不能占用8080
修改tomcat-server-2里的server.xml,修改以下三个端口,与tomcat-server-1区分开
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
<Connector port="8009" protocol="AJP/1.3"












启动tomcat-2

与之前的验证方法一样,查看端口号,访问项目地址

Tomcat配置访问日志
用于判断网络配置和时间,缩小问题范围
tomcat的logs目录下localhost_access_log.xxxx-xx-xx.txt里记录了访问tomcat的日志,可以通过配置,使访问日志中显示请求耗时
修改tomcat的conf目录下server.xml文件
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %T" />
%T:请求耗时,单位秒




访问一次,即可看到监控的访问日志

通过配置,使访问日志中显示请求耗时




修改后

重启tomcat,启动监控,访问项目地址

此时间为从请求到tomcat,到离开tomcat回到客户端的时间

若jmeter或LR统计出来访问时间为600毫秒,tomcat日志打印出来的访问时间为580毫秒,则说明网络传输为20毫秒,方便判断网络配置和时间,缩小问题范围
性能测试二十:环境部署之Tomcat多实例部署+日志监控的更多相关文章
- Tomcat多实例部署
前言 以前总是采用很Low的方式太同一台服务器上部署多个Web应用,步骤是这样的:Copy Tomcat目录-->更改conf/server.xml三个端口号----->部署war包--- ...
- 19.Tomcat多实例部署及负载均衡、动静分离
Tomcat多实例部署及负载均衡.动静分离 目录 Tomcat多实例部署及负载均衡.动静分离 Tomcat多实例部署 安装jdk 设置jdk环境变量 安装tomcat 配置 tomcat 环境变量 修 ...
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- 搭建Tomcat应用服务器、tomcat虚拟主机及Tomcat多实例部署
一.环境准备 系统版本:CentOS release 6.6 (Final) x86_64 Tomcat版本:tomcat- JDK版本:jdk-8u25-linux-x64 关闭防火墙 软件包下载地 ...
- web应用部署(Tomcat,springboot部署方式)
转载自:https://www.cnblogs.com/haimishasha/p/10791454.html 核心内容 1.在Tomcat中有四种部署Web应用的方式,分别是: (1)利用Tomca ...
- CentOS6.7安装部署之Tomcat多实例
Tomcat单机多实例配置 操作前的准备:关闭防火墙,配置好IP地址,安装好JAVA环境 1.首先创建tomcat所有实例共同的工作目录/data/webapps以及tomcat所有实例的所在目录/d ...
- 性能测试二十六:环境部署之Mysql+Redis+Tomcat环境整合
系统中使用了缓存+数据库,通用读取数据规则1.先从缓存读数据,如果有,直接返回数据:2.如果没有,去数据库中读,然后再插入到缓存中,再返回数据 Mysql+Redis+Tomcat环境整合 1.修改P ...
- 性能测试二十八:环境部署之Dubbo部署
Zookeeper部署 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一 ...
- 性能测试二十二:环境部署之Nginx
由于单纯用tomcat只能通过ip+端口号的形式访问,这样只能访问一个tomcat,而真实项目中又不可能只用一两个tomcat,所以就需要Nginx来进行分配访问请求, Nginx本身性能非常好,据官 ...
随机推荐
- 个股与指数的回归分析(自带python ols 参数解读)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- Hibernate_事务管理
今天学习Hibernate,发现当我在执行下面操作时,不会对数据库产生任何效果,就是说Customer对象并不会保存到数据库中 Session session = HibernateUtils.ope ...
- table中表头不动,表体产生滚动条
<div id="elec_table"> 2 <div class="table-head"> 3 <table> 4 & ...
- JS基础:翻转数组
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; console.log(arr); //操作原数组,让原数组第一位和最后一个位调换位置,以此类推. for (va ...
- Redis在Windows上使用和集群配置
一.什么是Redis Redis是一个开源的,使用C语言编写的面向键值对类型的分布式Nosql数据库系统,功能类似Memcache,但比Memcache功能更丰富.官网地址:https://redis ...
- CodeForces - 615D Multipliers(数论)
http://codeforces.com/problemset/problem/615/D 题意 给出m个质因子,组成一个数n.问n的约数的乘积是多少,输出mod 1e+7的结果. 分析 从输入我们 ...
- 求FIRST集和FOLLOW集
花了点时间弄了个大概,希望对和我一样的人有所帮助. 文法如下: E -> TE'E' -> +TE'|εT -> FT'T' -> *FT'|εF -> (E)|id ...
- HttpWebRequest post 提交 C#的WebBrowser操作frame如此简单 WebClient 提交
//http://www.cnblogs.com/cgli/archive/2011/04/09/2010497.html System.Net.ServicePointManager.Expect1 ...
- B - Frogger 最短路变形('最长路'求'最短路','最短路'求'最长路')
http://poj.org/problem?id=2253 题目大意: 有一只可怜没人爱的小青蛙,打算去找他的女神青蛙姐姐,但是池塘水路不能走,所以只能通过蹦跶的形式到达目的地,问你从小青蛙到青蛙姐 ...
- CentOS 7以上版本Nginx开机自启
Nginx+Center OS 7.x 开机启动设置 centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 ...