Tomcat启动阻塞变慢

Tomcat 熵池阻塞变慢详解

 

Tomcat 启动很慢,且日志上无任何错误,在日志中查看到如下信息:

Log4j:[2015-10-29 15:47:11]  INFO ReadProperty:172 - Loading properties file from class path resource [resources/jdbc.properties]
Log4j:[2015-10-29 15:47:11]  INFO ReadProperty:172 - Loading properties file from class path resource [resources/common.properties]
29-Oct-2015 15:52:53.587 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [342,445] milliseconds.
  • 1
  • 2
  • 3
  • 4

原因

Tomcat 7/8都使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom类产生安全随机类SecureRandom的实例作为会话ID,比较耗时。

是基于SHA-1算法实现且保密性较强的伪随机数生成器。

非常适合那些需要非常高质量随机性的场景,比如一次性的支付或生成密钥的场景。对于生成高质量的加密密钥或者是需要长期保护的场景,一定要这么做。

随机数产生器会收集来自设备驱动器和其它源的环境噪声数据,并放入熵池中。产生器会评估熵池中的噪声数据的数量。当熵池为空时,这个噪声数据的收集是比较花时间的。这就意味着,Tomcat在生产环境中使用熵池时,会被阻塞较长的时间。

解决

解决办法:

在JVM环境中解决

打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:

securerandom.source=file:/dev/urandom

替换成

securerandom.source=file:/dev/./urandom


转载:http://blog.csdn.net/chszs
 

转载于:https://www.cnblogs.com/Fly-sky/p/8031311.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目总结

123转载于:https://www.cnblogs.com/kehuaihan/p/9284858.html

前端试题(二)

1. 数组方法、reduce()的第二个参数 reduce() MDN文档 accumulator 累计器currentValue 当前值currentIndex 当前索引array 数组 在没有初始值的空数组上调用 reduce 将报错(如果有initialValue不报错)。回调函数第一次执行时,accumulator…

项目中遇到问题的解决方法合集

以下内容主要是为了方便记录自己在工作中遇到的项目问题搜寻到的解决方法,肯定方法不唯一,这里只是给出解决了我的问题的方法,大家走过路过随便瞧瞧较好啦嘻嘻 1、使用vue/cli 4.x 创建vue项目时使用iconfont 图标无法显示——前者版本问题 …

JS展示预览PDF。

刚好遇到需求,需要在手机端--展示一个电子收据,电子收据返回是PDF格式的,所以需要在前端上面去做PDF预览。 在学习过程中,了解到一种很简单,不需要任何插件的方法做PDF预览,但是这方法有局限性. 代码如下&a…

html5 --- IDBDatabase创建对象存储和索引

代码如下: <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title> CRUD操作 </title><style type"text/css">table{width: 830px;border: 1px …

查询数据库 收集 (如某个字段不是中文)

查询某个字段不为中文的 select * from 表名 where 字段名 REGEXP [\u0391-\uFFE5] 查询某个字段以数字开头 select * from 表名 where 字段名 REGEXP [0-9].*转载于:https://www.cnblogs.com/spicy/p/8038442.html

2019大疆PC软件开发笔试——开关和灯泡两个电路板

题目描述: 小A是一名DIY爱好者&#xff0c;经常制作一些有趣的东西。 今天&#xff0c;小A突然想要来做这样一个东西。小A现在有两块同样大小为nm&#xff0c;有nm块大小为11小电路板拼成的矩形电路板&#xff0c;假设叫做电路板A和电路板B。电路板A上每个小电路板都是一个开关…

2019高校微信小程序开发大赛获奖作品——《brain头脑智序》

目录 前言 交互流程说明图 我的任务 登录授权&#xff08;login&#xff09; 首页&#xff08;tababr分析&#xff09; 房间准备区&#xff08;preparing&#xff09; 便签编辑区 最终方案选择&#xff08;房主权限&#xff09; 会议报告页面&#xff08;report&#…

前端试题(三)

1. js继承的7种方式 回顾&#xff1a; 每个构造函数都有一个原型对象&#xff1b;原型对象都包含一个指向构造函数的指针&#xff1b;实例都包含一个指向原型对象的内部指针&#xff1b;一切皆为对象&#xff0c;只要是对象&#xff0c;就会有 proto 属性&#xff0c;该属性存…

javascript --- ES6模块与CommonJS模块的差异

CommonJS模块是运行时加载,ES6模块是编译时输出接口 是因为CommonJS加载的是一个对象(module.exports属性),该对象只有在脚本运行结束时才会生成.而ES6模块不是对象,它的对外接口只是一种静态定义,在代码静态解析阶段就会生成. CommonJS模块输出的是一个值的复制&#xff0c;E…

C# ASP 面试题 2017

在博客上看到的&#xff0c;感觉还不错 https://www.cnblogs.com/renyiqiu/p/6435261.html 转载于:https://www.cnblogs.com/yangsirc/p/8038555.html

享元模式 - 结构型模式

模式类型&#xff1a; Flyweight 享元模式 - 结构型模式 意图&#xff1a; The intent of this pattern is to use sharing to support a large number of objects that have part of their internal state in common where the other part of state can vary. 运用共享…

前端试题(四)

1. vue过滤器使用场景 2. v-on绑定多个方法 <p v-on"{click:dbClick,mousemove:MouseClick}"></p>一个事件绑定多个函数&#xff1a; <p click"one(),two()">点击</p>3. 在菜单结构不确定时&#xff0c;前端如何动态渲染 树形…

http --- 用于HTTP调试的最小型Perl Web 服务器

下面的程序是个很有用户的诊断工具,可以用来调试与客户端和代理的交互情况. 该程序 首先会等待HTTP连接,只有收到请求报文,就会将报文打印在屏幕上,然后等待用户输入一条响应报文,并将其回送给客户端. #! /usr/bin/perl use Socket; use Carp; use FileHandle;# (1) use prot …

Mysql - 安装与配置

1、下载安装包 > https://www.mysql.com/downloads/ 2、双击安装&#xff0c;点击Install MySQL Products > 3、Skip 打钩&#xff0c;Next下一步 > 4、选择Server only&#xff1a;只选择安装服务端&#xff0c;根据个人喜好更改安装路径和数据保存路径…

4084:拓扑排序

题目链接&#xff1a;http://bailian.openjudge.cn/practice/4084/ 总时间限制: 1000ms 内存限制: 65536kB描述给出一个图的结构&#xff0c;输出其拓扑排序序列&#xff0c;要求在同等条件下&#xff0c;编号小的顶点在前。 输入若干行整数&#xff0c;第一行有2个数&#xff…

廖雪峰git教程学习

廖雪峰git教程 git – Linus在2周内用c写的 1.1 基本概念 版本控制系统&#xff0c;追踪文本文件的改动&#xff0c;文件、视频等二进制文件则不可追踪&#xff08;微软的word也是二进制文件&#xff09;HEAD 指向当前分支&#xff0c;表示当前版本&#xff08;最新的提交&am…

操作系统 --- 进程和管程的不同

1.进程定义的是私有数据结构PCB,管程定义的是公共数据结构,如消息队列等; 2.进程是由顺序程序执行有关操作,而管程主要是进行同步操作和初始化操作; 3.设置进程的目的在于实现系统的并发行,而管程的设置则是解决共享资源的互斥使用问题; 4.进程通过调用管程中的过程对共享数据结…

JCO 自定义DestinationDataProvider

要让JAVA程序能访问SAP系统&#xff0c;一般通过SAP JCO接口进行通讯&#xff0c;在获取到SAP的连接时需求提供一些连接参数&#xff0c;这些参数在最新的 JCO 3.0 中需要被保存到一个带有扩展名.jcoDestination的文件中&#xff0c;这个文件同时被保存在应用程序的安装目录中。…

android BLE Peripheral 手机模拟设备发出BLE广播 BluetoothLeAdvertiser

android 从4.3系统开始可以连接BLE设备&#xff0c;这个大家都知道了。iOS是从7.0版本开始支持BLE。android 进入5.0时代时&#xff0c;开放了一个新功能&#xff0c;手机可以模拟设备发出BLE广播&#xff0c; 这个新功能其实是 对标于 iOS系统的手机模拟iBeacon设备。先介绍一…