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云服务器数据盘都未做分区和格式化.在进行数据盘挂载之前我们要先进行分区以及格式化操作.注意, ...
随机推荐
- 学习了武沛齐讲的Day11-完
DAY11 老师讲了很多,理解了一个方法 当有复杂的问题时,先拆解很小的单元(10行),测试通过了,再简化(3行) len range 感悟:其实不用计记代码(主要是记不动),,当遇到问题时:找出 ...
- 18 | 为什么这些SQL语句逻辑相同,性能却差异巨大?
在MySQL中,有很多看上去逻辑相同,但性能却差异巨大的SQL语句.对这些语句使用不当的话,就会不经意间导致整个数据库的压力变大. 我今天挑选了三个这样的案例和你分享.希望再遇到相似的问题时,你可以做 ...
- 四十.创建Redis集群 管理集群
环境准备 准备 6台(51-56) redis服务器 以默认配置运行redis服务即可 一.创建Redis集群 1.启用集群功能( 51-56 都要配置) ]# netstat -antupl ...
- 决策单调性优化DP学习笔记
用途 废话,当然是在DP式子满足某些性质的时候来优化复杂度-- 定义 对于\(j\)往大于\(j\)的\(i\)转移,可以表示成一个关于\(i\)的函数\(f_j(i)\),也就是\(dp_i=\ma ...
- 对C#中事件的简单理解
对于C#中的事件,我举了个简单的例子来理解事件及其处理. 这个例子中母亲是事件的发布者,事件是吃饭了.儿子和父亲是事件的订阅者,各自的Eat方法是处理事件的方法. 下面是详细的加注的例子: using ...
- Java for循环的语法和执行顺序
关于java的for循环想必大家非常熟悉,它是java常用的语句之一.for循环是最灵活也是最常用的循环结构,表达式一般如下: for(表达式1;表达式2;表达式4){ 表达式3; } 执行顺序: ...
- Tkinter 之Place布局
一.参数说明 参数 作用 anchor 控制组件在 place 分配的空间中的位置"n", "ne", "e", "se&quo ...
- Tkinter 之CheckButton复选框标签
一.参数说明 语法 作用 Checkbutton(root,text='xxxx') 复选框显示的文本 Checkbutton(root,variable=id) 通过变量的值确定哪些复选框被选中 C ...
- 学习OpenCV双目测距原理及常见问题解答
学习OpenCV双目测距原理及常见问题解答 转自博客:https://blog.csdn.net/angle_cal/article/details/50800775 一. 整体思路和问题转化. 图 ...
- JS-七大查找算法
顺序查找 二分查找 插值查找 斐波那契查找 树表查找 分块查找 哈希查找 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录).查找算法分类:1)静态查找和动态查找:注 ...