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提高并发的更多相关文章

  1. tomcat 高并发配置 与优化

    公司的一个服务器使用Tomcat6默认配置,在后台一阵全点击服务器就报废了,查了一下就要是PERMSIZE默认值过小造成(16-64) TOMCAT_HOME/bin/catalina.sh 添加一行 ...

  2. 调整Tomcat的并发线程到5000+

    调整Tomcat的并发线程数到5000+ 1. 调整server.xml的配置 先调整maxThreads的数值,在未调整任何参数之前,默认的并发线程可以达到40. 调整此项后可以达到1800左右. ...

  3. SQL Server数据库读写分离提高并发性

    在一些大型的网站或者应用中,单台的SQL Server 服务器可能难以支撑非常大的访问压力.很多人在这时候,第一个想到的就是一个解决性能问题的利器——负载均衡.遗憾的是,SQL Server 的所有版 ...

  4. STM 软件事务内存——本质是为提高并发,通过事务来管理内存的读写访问以避免锁的使用

    对Java程序员来说,我们对面向对象的编程(OOP)自然都是烂熟于胸的,但语言也极大地影响了我们构建面向对象应用程序的方式.(现在的OOP已经和Alan Kay当初创造这个词时候的初衷大不相同了,他的 ...

  5. nginx配置优化提高并发量

    1 nginx配置优化提高并发量 worker_processes 2; 这个按照CPU的核数来决定 2 worker_connections 65535; 这个一般设置65535即可 每个进程允许的 ...

  6. tomcat高并发配置

    最近在项目中负责Tomcat高并发优化方案写一写新得. 优化1)tomcat默认的并发是75,可以启用线程池根据生产环境硬件设定线程池大小. <Executor name="tomca ...

  7. Redis+Kafka异步提高并发

    Redis+Kafka异步提高并发 Redis+Kafka异步提高并发 设计 实现 提交请求接口 Kafka消费队列 异步处理Service 客户端轮询获取结果 Redis集群节点配置 KafKa集群 ...

  8. 提高tomcat的并发能力

    1.Apache + Tomcat 结合起来用Apache负责静态页面,Tomcat负责动态页面,同时减少connectionTimeout的时间,以应对并发量大线程回收来不及的情况. 2.压力过大的 ...

  9. Tomcat高并发配置优化

    用的JMeter在自己电脑上测试的.Ubuntu10.04(x64)内存2G,cpu E5400 主频2.7.jdk1.6.0_27(x64) , tomcat6.0.33(x64) , oracle ...

随机推荐

  1. Java静态方法块、非静态方法块、构造方法、静态方法执行顺序

    示范类StaticTest.java public class StaticTest {     {//只有当创建对象的时候执行         System.out.println("H1 ...

  2. Android ViewPager设置监听注意事项

    首先 implements View.OnClickListener 因为Item比较多用这个方便 设置监听要注意地方,如果在 onCreate 直接 findViewById布局里的ID是会出错的 ...

  3. rails框架配置

    rails框架默认有三个模式development(开发),production(上线),test(测试) Development config.cache_classes = false 每次请求都 ...

  4. 不安分的android开发者(小程序初尝试,前后台都自己做)

    前言 作为一个稍微有点想法的程序员来说,拥有一个自己开发,自己运营,完全属于自己的应用,应该是很多人的梦想.刚毕业那会,自己的工作是做游戏,于是也和朋友业余时间开发一些小游戏玩玩,可是终究不成气候,而 ...

  5. SQL Server 2008 R2 Express Profiler

    I successfully installed SQL Server Profiler 2008 R2 Profiler without uninstalling SQL 2008 R2 Expre ...

  6. mfc 引用

    一.引用的概念 引用(reference)是另一标识符的别名,可以说是C++的一种新的变量类型,是对C的重要扩充.当建立引用时,程序用另一个变量或对象(目标)的名字初始化它(即它代表了标识符的左值), ...

  7. 【转载】怎样在C++工程中集成C#窗口

    原文:http://www.cnblogs.com/clever101/archive/2009/12/14/1624204.html 本文转自博客园,此文作者依据codeproject英文版本翻译! ...

  8. 4553: [Tjoi2016&Heoi2016]序列

    4553: [Tjoi2016&Heoi2016]序列 链接 分析: 注意所有m此操作中,只会发生一个,于是考虑dp.dp[i]=dp[j]+1,j<i,a[j]<=L[i],R[ ...

  9. [HNOI2016]网络 树链剖分,堆

    [HNOI2016]网络 LG传送门 表示乱搞比正解难想. 整体二分很好想吧. 但是为了好写快乐,我们选择三个\(\log\)的乱搞. 先树剖,线段树套堆维护区间最大值.对于一次修改,如果是插入,就把 ...

  10. 奇技淫巧之 unordered_map

    哇,虽然我不知道到为什么这个东西比map快(快了一倍),注意unordered_map要在c++11以上的编译环境下才能用,如c++11,GNU G++11 5.1.0,GNU G++14 .