Tomcat提高并发
Centos7环境下Tomcat 启动慢的解决方案
1、增加熵值(本质增加random)安装软件
>> Yum –y install rng-tools
启动熵服务
>> Systemctl start rngd(或service rngd start)
2、修改java环境配置文件
$JAVA_HOME/jre/lib/security/Java.security文件
>> vi securerandom.source
#securerandom.source=file:/dev/urandom
securerandom.source=file:/dev/./urandom
3、修改tomcat配置文件
>> vi Catalina.sh
JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"
server.xml相关配置
<Connector port="8002"
protocol="org.apache.coyote.http11.Http11AprProtocol" #apr模式
URIEncoding="UTF-8" #编码
acceptorThreadCount="4" #接收线程数目
pollerThreadCount="4" #用来处理轮询事件的线程的数量
acceptCount="200" #处理队列中的请求数
maxConnections="3000" #最大连接数
maxThreads="1000" #最大线程数
minSpareThreads="500" #Tomcat初始化时创建的线程数
processorCache="500" #规定多少processor对象有能得到缓存,-1无限制,默认为200
connectionTimeout="20000"/> #连接超时
<Host><Context path="" docBase="appname"/></Host>
catalina.sh文件
JAVA_OPTS="
$JAVA_OPTS
-server -Xms3500m -Xmx3500m ##-Xms与-Xmx设成一样的值,避免JVM因为频繁的GC导致性能大起大落
-Djava.awt.headless=true #一种系统模式
-Djava.library.path=/usr/local/apr/lib #apr依赖
-Djava.security.egd=file:/dev/./urandom #解决熵值不够的问题,使用伪随机函数(针对centos7或者Linux4以上版本)
-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8" #解决中文日志乱码
APR安装(默认安装目录 /usr/local/apr/lib)
安装依赖
yum install apr-devel
yum install openssl-devel 注意:ssl版本要求1.0.2以上
yum install gcc
yum install make
1、上传apr压缩包
2、解压
3、进入解压目录
4、执行./configure
5、执行make(可以不修改)
注:出现报错需要修改configure文件
1、编辑 configure文件,查找 $RM "$cfgfile" 这个地方,用#注释掉
2、在configure里面 RM='$RM -f'这里的$RM后面一定有一个空格。 如果后面没有空格,直接连接减号,就依
6、执行make install
7、安装JNI wrapper库
7.1、在Tomcat/bin目录下有tomcat-native.tar.gz,解压并进入解压目录
7.2、进入native目录
7.3、执行./configure --with-apr=/usr/local/apr
7.4、执行make,执行make install
SSL版本升级(1.0.1e升级为1.0.2或1.0.2h)
1、手动下载压缩包或wget https://www.openssl.org/source/openssl-1.0.2.tar.gz
2、更新zlib >>yum install -y zlib
3、 >> tar zxf openssl-1.0.2.tar.gz
>> cd openssl-1.0.2
>> ./config shared zlib
>> make
>> make install
>> mv /usr/bin/openssl /usr/bin/openssl.bak
>> mv /usr/include/openssl /usr/include/openssl.bak
>> ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
>> ln -s /usr/local/ssl/include/openssl /usr/include/openssl
>> echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
>> ldconfig -v
4、检查是否升级成功
>> openssl version -a
Tomcat提高并发的更多相关文章
- tomcat 高并发配置 与优化
公司的一个服务器使用Tomcat6默认配置,在后台一阵全点击服务器就报废了,查了一下就要是PERMSIZE默认值过小造成(16-64) TOMCAT_HOME/bin/catalina.sh 添加一行 ...
- 调整Tomcat的并发线程到5000+
调整Tomcat的并发线程数到5000+ 1. 调整server.xml的配置 先调整maxThreads的数值,在未调整任何参数之前,默认的并发线程可以达到40. 调整此项后可以达到1800左右. ...
- SQL Server数据库读写分离提高并发性
在一些大型的网站或者应用中,单台的SQL Server 服务器可能难以支撑非常大的访问压力.很多人在这时候,第一个想到的就是一个解决性能问题的利器——负载均衡.遗憾的是,SQL Server 的所有版 ...
- STM 软件事务内存——本质是为提高并发,通过事务来管理内存的读写访问以避免锁的使用
对Java程序员来说,我们对面向对象的编程(OOP)自然都是烂熟于胸的,但语言也极大地影响了我们构建面向对象应用程序的方式.(现在的OOP已经和Alan Kay当初创造这个词时候的初衷大不相同了,他的 ...
- nginx配置优化提高并发量
1 nginx配置优化提高并发量 worker_processes 2; 这个按照CPU的核数来决定 2 worker_connections 65535; 这个一般设置65535即可 每个进程允许的 ...
- tomcat高并发配置
最近在项目中负责Tomcat高并发优化方案写一写新得. 优化1)tomcat默认的并发是75,可以启用线程池根据生产环境硬件设定线程池大小. <Executor name="tomca ...
- Redis+Kafka异步提高并发
Redis+Kafka异步提高并发 Redis+Kafka异步提高并发 设计 实现 提交请求接口 Kafka消费队列 异步处理Service 客户端轮询获取结果 Redis集群节点配置 KafKa集群 ...
- 提高tomcat的并发能力
1.Apache + Tomcat 结合起来用Apache负责静态页面,Tomcat负责动态页面,同时减少connectionTimeout的时间,以应对并发量大线程回收来不及的情况. 2.压力过大的 ...
- Tomcat高并发配置优化
用的JMeter在自己电脑上测试的.Ubuntu10.04(x64)内存2G,cpu E5400 主频2.7.jdk1.6.0_27(x64) , tomcat6.0.33(x64) , oracle ...
随机推荐
- CentOS6中OpenMP的运行时间或运行性能分析
OpenMp作为单机多核心共享内存并行编程的开发工具,具有编码简洁等,容易上手等特点. 关于OpenMP的入门,博主饮水思源(见参考资料)有了深入浅出,循序渐进的分析.做并行开发,做性能分析是永远逃避 ...
- 在CentOS7.6上安装自动化运维工具Ansible以及playbook案例实操
前言 Ansible是一款优秀的自动化IT运维工具,具有远程安装.远程部署应用.远程管理能力,支持Windows.Linux.Unix.macOS和大型机等多种操作系统. 下面就以CentOS 7.6 ...
- mac php项目除了首页全飘not found
1.httpd.conf配置文件中加载了mod_rewrite.so模块2.AllowOverride None 将None改为 All DocumentRoot "/Library/Web ...
- Hadoop系列-zookeeper基础
目前是刚刚初学完zookeeper,这篇文章主要是简单的对一些基本的概念进行梳理强化. zookeeper基础概念的理解 有时候计算机领域很多名词都是从一长串英文提取首字母缩写而来,但很不幸zooke ...
- vba 语法
VBA语言基础 第一节 标识符 一.定义 标识符是一种标识变量.常量.过程.函数.类等语言构成单位的符号,利用它可以完成对变量.常量.过程.函数.类等的引用. 二.命名规则 1) 字母打头,由字母.数 ...
- mfc 类对象数组
知识点 类对象数组定义 类对象数组初始化 一.类对象数组定义 我们声明类对象数组,与我们申明内置类型数组的形式完全相同. 如: ]; ]; Tdate d[]; 二.类对象数组的初始化 .调用默认构造 ...
- 9.12 开课第9天 (JS脚本语音:基础语法、语句)
全称JavaScript 网页里面使用的脚本语音 非常强大的语言 基础语法:1.注释语法 单行注释// 多行注释/**/ 2.输出语法 alert(信息); 弹出信息 ...
- 微信小程序:设置页面计时自动跳转
一.功能描述 当出发某一事件后,希望在规定的时间后自动执行另一事件,比如页面跳转功能. 二.代码实现 使用setTimeout函数,单位为毫秒ms setTimeout(function(){ wx. ...
- cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'
cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'. One of '{&qu ...
- python爬虫之数据的三种解析方式
一.正则解析 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字.字母.下划线.中文 \W : 非\ ...