Tomcat

我就改了一下参数,竟然让Tomcat和JVM的性能提升了两倍!

坚强是说给别人听的谎言 提交于 2021-01-17 17:06:40
前言 在工作中,作为 Java 开发的程序员,Tomcat 服务器是大家常用的,也是很多公司现在正在用的。但是,在系统并发量比较大的情况下,Tomcat 就会出现卡死和自动关闭等问题。如何优化 Tomcat,让它更高效的运行就成了问题,在本篇小编中,我将为你分享如何更好的提升 Tomcat 性能。 Tomcat性能调优 找到Tomcat根目录下的conf目录,修改server.xml文件的内容。小编这里也对应整理了一份JVM调优和实战400多页 学习笔记 ,关注公众号:麒麟改bug,获取详细PDF对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优的设置,下图是我根据我机子的性能设置的一些参数值,给各位详细解释一下吧: ​ 1、URIEncoding=“UTF-8”: 设置Tomcat的字符集。这种配置我们一般是不会设置的,因为关于乱码的转换我们会在具体项目中具体处理,直接修改Tomcat的字符集未免过于太死板。 2、maxThreads=“300”: 设置当前Tomcat的最大并发数。Tomcat默认配置的最大请求数是150个,即同时能支持150个并发。但是在实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的,更好的硬件、更高的处理器都会使Tomcat支持更多的并发数

nginx实现session共享

无人久伴 提交于 2021-01-16 13:31:58
在nginx实现了负载均衡之后,用户第一次请求的tomcat和第二次请求的tomcat基本不是同一个,但是你在第一次请求放在session中的值只有一个tomcat1才有,第二个请求的那个tomcat2里面是没有的。这样就出现了用户不停登入的情况。为了解决这个session共享的问题,于是我们提出了以下几个方案: 文章目录 nginx实现session共享 ip_hash(ip绑定) 步骤实现 大致描述 优缺点 tomcat集群实现session的共享 步骤实现 创建一个web项目 复制一份tomcat到文件夹中 导出war包 修改server.xml 修改端口及工作路径 启动tomcat 修改nginx配置文件 测试是否成功 关闭nginx 优缺点 redis实现session的共享 nginx实现session共享 ip_hash(ip绑定) 原理 :每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 步骤实现 大致描述 直接在配置文件里面添加ip_hash 则可以实现ip绑定,ip绑定 和什么浏览器没有关系,是和本机电脑ip有关系,A B 两个客户端,如果 nginx配置ip绑定以后 A 客户端如果请求的 是8080 服务器,则以后来自客户端的A 的请求都将交给8080服务器处理,如果是IP 绑定,在高并发的情况下

云服务器CentOS7.4搭建tomcat环境

怎甘沉沦 提交于 2021-01-16 07:36:35
1. 购买阿里云服务器 https://m.aliyun.com/act/team1111/#/share?params=N.EN2hxhpNQG.frub3y7l 新人参加团购, 老用户可以用新手机号重新注册再参加 2. 上传 tomcat 安装包至 root 目录 3. 解压至 home 目录 tar –zxvf /root/apache-tomcat-7.0.47.tar.gz -C /home 4. 运行 tomcat 服务 sh /home/apache-tomcat-7.0.47/bin/startup.sh 5. 查看运行结果 cat /home/apache-tomcat-7.0.47/logs/catalina.out 6. 遇到问题 浏览器访问 http://ip:8080/ 不能访问 7. 处理方法 7.1. 检查防火墙状态 7.2. 服务器本地访问是否正常 7.3. 阿里云的安全组规则控制台添加配置,入口开放 8080 端口 7.4. 重新访问地址 长按关注公众号 作者微信号:13128600812 欢迎加入技术研究,备注:1 本文分享自微信公众号 - IT技术屋(zhanglcxyworkshop)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina

Shell脚本定时监控

谁说胖子不能爱 提交于 2021-01-16 04:59:53
1.建立脚本文件 autostart.sh #!/bin/bash export JAVA_HOME=/home/java/jdk1.8.0_191 export JRE_HOME=$JAVA_HOME/jre dateTime=`date "+%Y-%m-%d %H:%M:%S"` echo $dateTime pId=`ps -ef | grep /home/tomcat/apache-tomcat-8.0.44 | grep -v grep | awk '{print $2}'` echo "tomcat-PId:$pId" if test -z ${pId} then echo "start tomcat......" sh /home/tomcat/apache-tomcat-8.0.44/bin/startup.sh else echo "tomcat runing......" fi 保存脚本,手动运行一下,确保没有错误。 2.执行crontab -e,来进入定时设置: */1 * * * * /home/tomcat/autostart.sh 3.设置好后重启crontab服务,命令如下: service crond restart 设置完成! 4.查看邮件了解脚本定时执行的情况: mail 来源: oschina 链接: https://my.oschina

Tomcat证书安装(pfx和jks)

百般思念 提交于 2021-01-16 03:20:27
tomcat安装证书需要修改tomcat/conf下的server.xml,需要修改Connector port=”8443”开头的标签,一般情况下是注释掉的。 1、pfx 增加keystoreFile 、 keystoreType 、 keystorePass <Connector port="8443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/证书路径/名称.pfx" keystoreType="PKCS12" keystorePass="证书密码" clientAuth="false" sslProtocol="TLS" /> 2、jks 增加keystoreFile、 keystorePass <Connector port="8443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/证书路径/名称.jks" keystorePass="证书密码" clientAuth="false" sslProtocol="TLS" /> 保存重启tomcat,访问https:/

SSM商城开发学习

别等时光非礼了梦想. 提交于 2021-01-16 02:49:17
功能模块:前端:门户、商品搜索、商品展示、购物车、注册&登录 后端:商品管理、订单管理、cms 上线,bug,维护,停到上线,维护,打包,上线 某一个模块出现bug,停到这个模块 tomcat:默认200并发; 负载均衡服务器nginx:( 相当于保安 ) 集群:针对一个外包,不针对一个模块,集群中节点数量不能太多,tomcat5个左右(并发量大的情形,并发量太大不行)。 集群:相当于同一个工程代码拷贝多份部署到多台服务器,每台服务器单独独立部署运行。 分布式架构:把系统按照模块拆分成多个子系统,多个子系统相互协作才能完成业务流程系统之间需要进行通信。 分布式:按照功能点把系统进行拆分成独立工程,可以单独为一个节点添加服务,需要系统之间配合才能完成整个业务逻辑。 单点登录系统,订单系统,会员系统,前台系统、后台登录系统,后台管理系统,搜索系统。 系统之间交互需要使用远程交互,需要开发接口。 基于SOA的架构:面向服务的架构,把工程拆分成服务工程、表现层工程。服务层中包含业务逻辑,不跟页面打交道。表现层只需要处理和页面的交互。业务逻辑都是调用服务层的服务来实现。 表现层、服务层、持久层。 controller springmvc.xml 组件扫描controller 注解驱动 视图解析器 web.xml dispatcherservlet监听器 service

SpringBoot2.1整合finereport10(帆软报表)

本小妞迷上赌 提交于 2021-01-15 19:12:50
  最近,公司采购了帆软的系统,领导安排要与公司的SpringBoot框架进行整合。费了一番牛劲,终于整合成功,下面分享一下我的经验。   首先,我的开发环境是Intellij IDEA,使用的SpringBoot版本是2.1.1,整合的finereport版本是10.0。   一、根据帆软官方教程 http://help.finereport.com/ 高级教程->部署集成->服务器部署->报表部署流程->嵌入式部署的介绍, 将 %FineReport_HOME%\webapps\webroot\WEB-INF 目录下面的assets、assist、classes、embed、lib、plugins、reportlets七个文件夹复制到你的项目的webapp的WEB-INF文件夹下,再 将 %JAVA_HOME%/jdk/lib 下的 tools.jar 拷贝到你的项目的webapp的WEB-INF的lib文件夹下,如图所示:    注意,springboot框架默认是不带webapp文件夹以及其子文件夹WEB-INF的,此时需要自己创建这两个文件夹,并将webapp文件夹设置为Web Resource Directory。(通过Project Structure设置)   二、更改SpringBoot的配置(打包方式/启动方式)   1.修改pom文件   (1

tomcat性能调优和性能监控(visualvm)

和自甴很熟 提交于 2021-01-15 16:35:13
tomcat服务器优化 1、JDK内存优化 根据服务器物理内容情况配置相关参数优化tomcat性能。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。 Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大. Tomcat默认可以使用的内存为128MB,Windows下,在文件/bin/catalina.bat,Unix下,在文件 /bin/catalina.sh 的前面,增加如下设置: JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】 -XX:PermSize=64M -XX:MaxPermSize=128m' 需要把几个参数值调大。例如: JAVA_OPTS='-Xms256m -Xmx512m' 表示初始化内存为256MB,可以使用的最大内存为512MB。 参数详解 -server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX:PermSize 内存永久保留区域 -XX:MaxPermSize 内存最大永久保留区域 -Xmn jvm最小内存 32G 内存配置示例: JAVA_OPTS="$JAVA_OPTS -Xms10g

springboot集成rabbitmq测试

吃可爱长大的小学妹 提交于 2021-01-15 07:06:19
一 RabbitMQ的介绍      RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿里巴巴公司的,现已经转让给apache).   消息中间件的工作过程可以用生产者消费者模型来表示.即,生产者不断的向消息队列发送信息,而消费者从消息队列中消费信息.具体过程如下:   从上图可看出,对于消息队列来说,生产者,消息队列,消费者是最重要的三个概念,生产者发消息到消息队列中去,消费者监听指定的消息队列,并且当消息队列收到消息之后,接收消息队列传来的消息,并且给予相应的处理.消息队列常用于分布式系统之间互相信息的传递.   对于RabbitMQ来说,除了这三个基本模块以外,还添加了一个模块,即交换机(Exchange).它使得生产者和消息队列之间产生了隔离,生产者将消息发送给交换机,而交换机则根据调度策略把相应的消息转发给对应的消息队列.那么RabitMQ的工作流程如下所示:   紧接着说一下交换机.交换机的主要作用是接收相应的消息并且绑定到指定的队列.交换机有四种类型,分别为Direct,topic,headers,Fanout.   Direct是RabbitMQ默认的交换机模式,也是最简单的模式.即创建消息队列的时候,指定一个BindingKey

tomcat启动Publishing failed with multiple errors

偶尔善良 提交于 2021-01-15 07:05:36
转自: https://blog.csdn.net/leisurelen/article/details/46940441 新安装一个tomcat插件。启动的时候就弹错误框。但tomcat还能使用。 Publishingfailedwithmultipleerrors Resource is out of sync with the file system: /backquery/queryWeb/.svn/all-wcprops . Resource is out of sync with th 新安装一个tomcat插件。启动的时候就弹错误框。但tomcat还能使用。 Publishing failed with multiple errors Resource is out of sync with the file system: '/backquery/query Web /.svn/all-wcprops'. Resource is out of sync with the file system: '/backquery/queryWeb/.svn/entries'. Resource is out of sync with the file system: '/backquery/queryWeb/css/.svn/entries'. Resource is out