CentOS系统下Tomcat的优化
一、JVM内存优化(线程优化)
vim ./bin/catalina.sh
在catalina.sh文件中添加以下配置:
JAVA_OPTS="-server -Xms128m -Xmx128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -XX:MaxNewSize=32m"
观察配置内容是否生效:
- 首先启动tomcat,然后查看tomcat进程编号:
ps -ef|grep tomcat
- 然后查看tomcat实际内存信息,通过查看内存信息判断配置是否成功:(进程号由上一步获取)
jmap -heap 进程号
二、Connector优化
三、安装配置APR
tomcat连接的三种模式:
BIO:最稳定最老的连接器,使用阻塞形式处理Request请求
NIO:使用java的异步IO技术,进行非阻塞形式处理Request请求
APR:原生C语言编写的非堵塞I/O,目前性能最理想
在安装APR之前需要安装APR环境的依赖包:
yum install -y expat expat-devel
导入apr三个安装包至centos系统某个文件夹下:
APR的安装步骤:
1.apr的安装
- 1.1 解压apr-1.6.3.tar.gz至安装目录
- 1.2 执行命令:
./configure -prefix=/usr/local/apr
make & make install
2.apr-iconv的安装
- 2.1 解压apr-iconv-1.2.2.tar.gz至安装目录
- 2.2 执行命令:
./configure -prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make & make install
3.apr-util的安装
- 3.1 解压apr-util-1.6.1.tar.gz至安装目录
- 3.2执行命令:
./configure -prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apriconv=/usr/local/apr-iconv
make & make install
4.安装tomcat-native
- 4.1 解压当前tomcat的bin目录下的tomcat-native.tar.gz
- 4.2 进入native目录安装:
./configure --with-apr=/usr/local/apr
make & make install
5.修改/bin/calatina.sh,配置apr影响的范围,设置只对当前Tomcat有影响
LD_LIBRAEY_PATH=$LD_LIBRAEY_PATH:/usr/local/apr/lib export LD_LIBRAEY_PATH
6.修改/conf/server.xml
可以通过安装压测工具来测试:
yum install httpd-tools
帮助信息:
ab --help
测试:
ab -n 1000 -c 100 http测试链接
CentOS系统下Tomcat的优化的更多相关文章
- CentOS系统下搭建tomcat服务器
下载相应的linux版jdk和tomcat,本文讲解jdk版本jdk-7u79-linux-x64.tar.gz,tomcat版本apache-tomcat-7.0.69.tar.gz [配置jdk] ...
- CentOS7.4 系统下 Tomcat 启动慢解决方法
CentOS7.4 系统下 Tomcat 启动慢解决的方法 首先查看日志信息,查看因为什么而启动慢 在CentOS7启动Tomcat时,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是s ...
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...
- CentOS系统下Redis安装和自启动配置的步骤
相信大家都知道Redis是一个C实现的基于内存.可持久化的键值对数据库,在分布式服务中常作为缓存服务.所以这篇文章将详细介绍在CentOS系统下如何从零开始安装到配置启动服务.有需要的可以参考借鉴. ...
- CentOS系统下安装python3+Django
转载:CentOS系统下安装python3+Django 1.首先用yum安装下vim,因为CentOS 7可能根本没自带完整vim,经常出现输入乱码:yum -y install vim 2.安装开 ...
- Sysbench Sysbench在centos系统下的安装
Sysbench在centos系统下的安装 by:授客 QQ:1033553122 测试环境: CentOS-7-x86_64-DVD-1503-01.iso 下载地址: http:/ ...
- Linux系统下tomcat的配置
Linux系统下tomcat的配置 完成后可以输入命令查看日志文件: 最后进入网页测试下吧: 可以出来这个网页就好了
- Centos系统下Docker的安装
一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...
- CentOS系统下的数据盘挂载
此教程适用系统:Linux(CentOS,Debian,Ubuntu,Fedora) 通常新开通的Linux云服务器数据盘都未做分区和格式化.在进行数据盘挂载之前我们要先进行分区以及格式化操作.注意, ...
随机推荐
- spring boot, 容器启动后执行某操作
常有在spring容器启动后执行某些操作的需求,现做了一个demo的实现,做一下记录,也希望可以给需要的同学提供参考. 1.spring启动后,以新线程执行后续需要的操作,所以执行类实现Runnabl ...
- AcWing P379 捉迷藏 题解
Analysis 这道题因为我们要给能到达的两个点都连上,又由于n<=200,所以我们可以用n³的传递闭包来建边,再用匈牙利算法来求二分图最大点独立集. #include<iostream ...
- NetworkX系列教程(10)-算法之一:最短路径问题
小书匠Graph图论 重头戏部分来了,写到这里我感觉得仔细认真点了,可能在NetworkX中,实现某些算法就一句话的事,但是这个算法是做什么的,用在什么地方,原理是怎么样的,不清除,所以,我决定先把图 ...
- Java的 「 “ 结构体 ”」 与 「 “ 自定义排序 ” 」
Java里面的结构体可以靠class来实现,如果相对结构体进行排序,需要写一个接口,class 自定义的名字 implements Comparator<结构体(自己定义的class类的名字)& ...
- Spring-Cloud-Eureka实例
SpringCloud实现服务注册中心 注册中心这么关键的服务,如果是单点话,遇到故障就是毁灭性的.在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提供服务的状态.为了维持其可用性 ...
- Nexus 3搭建及备份恢复
Nexus 3搭建 官网下载相应的软件版本:Nexus官网 配置仓库存放地址 # tar xf xxxx # more bin/nexus.vmoptions -Xms500M -Xmx500M -X ...
- Arts打卡第10周
Algorithm.主要是为了编程训练和学习. 每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard). 进行编程训练,如果不训练你看再多的算法书,你依然不 ...
- Windows下的apache maven安装与配置
去到官网http://maven.apache.org/download.cgi下载压缩包我选择的是二进制zip压缩文件. 解压并配置压缩文件的目录到MAVEN_HOME环境变量,添加解压文件下的bi ...
- 教你阅读 Cpython 的源码(一)
目录 第一部分-介绍 Cpython 源代码中有什么? 如何编译 Cpython 代码 编译器能做什么? 为什么 Cpython 是用 C 语言而是 Python 编写的? Python 语言的规范 ...
- c++比例-libcurl多线程并发时的core【转载】
转自: https://www.cnblogs.com/edgeyang/articles/3722035.html 浅析libcurl多线程安全问题 背景:使用多线程libcurl发送请求,在未设置 ...