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云服务器数据盘都未做分区和格式化.在进行数据盘挂载之前我们要先进行分区以及格式化操作.注意, ...
随机推荐
- sql server 将某一列的值拼成一个字符串 赋值到一个字段内
DECLARE @refCodeitems VARCHAR(800), SELECT @refCodeitems=ISNULL(@refCodeitems,'')+refCodeitem +'/' ...
- sphinx和coreseek
sphinx是国外的一款搜索软件. coreseek是在sphinx的基础上,增加了中文分词功能,换句话说,就是支持了中文. Coreseek发布了3.2.14版本和4.1版本,其中的3.2.14版本 ...
- learning scala Option[T]
Option(选项)类型用来表示一个值是可选的(有值或无值). Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,如果不存在, Op ...
- Luogu2791 幼儿园篮球题【斯特林数,数学】
题目链接:洛谷 我一开始不知道$N,M$有什么用处,懵逼了一会儿,结果才发现是输入数据范围... $$\begin{aligned}\binom{n}{k}Ans&=\sum_{i=0}^k\ ...
- CUDA编程前言
GPU架构 GPU特别适用于 密集计算,高度可并行计算,图形学 晶体管主要被用于 执行计算,而不是缓存数据,控制指令流 GPU计算的历史 2001/2002 -- 研究人员把GPU当做数据并行协处理器 ...
- 1820:【00NOIP提高组】进制转换
#include<bits/stdc++.h>//十分简单(滑稽)的一道模拟题 using namespace std; ]={'A','B','C','D','E','F','G','H ...
- 自动化运维工具pssh、pdsh、pscp
pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 以下 ...
- [PKUSC2018]真实排名——线段树+组合数
题目链接: [PKUSC2018]真实排名 对于每个数$val$分两种情况讨论: 1.当$val$不翻倍时,那么可以翻倍的是权值比$\frac{val-1}{2}$小的和大于等于$val$的. 2.当 ...
- C#读写三菱PLC数据 使用TCP/IP 协议
本文将使用一个Github开源的组件库技术来读写三菱PLC和西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能 ...
- Factor_Analysis
Factor_Analysis(因子分析) Factor Analysis 简书:较好理解的解释,其中公式有一定的推导(仅展现关键步骤,细节大多需要自行补充),基本为结论式. 感性层面理解:首先,明确 ...