记一次服务器Tomcat优化经历
公司需要一台测试服务器来做测试用,所以花了几天时间把服务全部部署好,在部署好war包之后,发现Tomcat访问超级慢。
1、进入Tomcat的bin目录下,运行
./catalina.sh run命令,在前台打印运行信息,首先看其有没有报错。好,没有报错,进行下一步。
看打印信息输出的快慢,如果卡在某一句上,那么证明你的配置是有问题的。
如何解决?
1)修改你的jdk目录下/jre/lib/security目录下的java.security这个文件,将securerandom.source=file:/dev/random改成securerandom.source=file:/dev/./urandom,这是Java官方给的解决方案,修改随机数。
2)修改Tomcat目录下conf目录下server.xml文件配置:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="40000"
redirectPort="8443" URIEncoding="UTF-8"
acceptCount="4000" maxThreads="5000"
compression="on" compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
disableUploadTimeout="true" debug="0"
maxHttpHeaderSize="8192" useBodyEncodingForURI="true" minProcessors="100" maxProcessors="5000"
minSpareThreads="1000" maxSpareThreads="4000" enableLookups="false"/>
2、top查看线程,看看java有没有特别高的占用,有的话,用jstack pid追踪查看是哪的语句造成的。
3、设置JVM运行大小,在Tomcat目录bin目录下vim catalina.sh
在# OS specific support. $var _must_ be set to either true or false.这一行下加入:
JAVA_OPTS="-server -Xms1024m -Xmx6144m -Xss1024K -XX:NewRatio=4 -XX:SurvivorRatio=4"来设置JVM运行内存。
4、nginx+Tomcat做动静分离设置,加快网页载入速度,我的nginx配置如下:
负载均衡配置:
upstream gw {
server localhost:8080;
}
在http模块里加入:
proxy_cache_key '$host:$server_port$request_uri';
proxy_temp_file_write_size 64k;
proxy_temp_path /dev/shm/cache/proxy_temp_path;
proxy_cache_path /dev/shm/cache/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=5d max_size=1g;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
server配置:
server {
listen 80;
server_name localhost 192.168.1.111:8080;
access_log /data/wwwlogs/access_nginx.log combined;
location ~ ^/crossdomain.xml {
root /usr/local/crossdomain;
}
location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff) {
proxy_cache cache_one;
proxy_cache_valid 200 304 302 5d;
proxy_cache_valid any 5d;
proxy_cache_key '$host:$server_port$request_uri';
add_header X-Cache '$upstream_cache_status from $host';
root /usr/local/tomcat/gw/webapps/gw/WEB-INF ;
expires 10d;
}
location ~ .*$ {
#index index;
proxy_pass http://gw;
}
}
5、运行./catalina.sh run命令,同时在网页打开你要打开的网页,查看输出,可以看到网页调用数据库等信息,看是否要优化数据库。
经过优化,测试服务器载入网页速度快了最少5秒以上。
记一次服务器Tomcat优化经历的更多相关文章
- tomcat优化
tomcat优化:vim catalina.sh添加:JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -X ...
- 记一次裸迁 MySQL 经历
记一次裸迁MySQL经历 前言:博主企业有一台企业阿里云机器,因为安装了云锁,造成服务器动不动就给我所死服务器.(就是那种 chattr +i /bin/bash ,分分钟日死狗 )趁着周末,Boos ...
- Tomcat 优化 java.lang.OutOfMemoryError: Java heap space 的解决方法
Tomcat 优化 java.lang.OutOfMemoryError: Java heap space 的解决方法 java.lang.OutOfMemoryError: Java heap sp ...
- tomcat优化-有改protocol 和 缓存 集群方案
tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...
- Tomcat 优化方案 和 配置详解(转)
转自 Tomcat 优化方案 和 配置详解 http://201605130349.iteye.com/blog/2298985 Server.xml配置文件用于对整个容器进行相关的配置. <S ...
- tomcat优化和JVM修改内存
Tomcat中的线程池(APR和ThreadPool) 2. 在Connector中指定使用共享线程池: <Connector executor="tomcatThreadPool&q ...
- tomcat优化(转)
tomcat优化 Activiti 分享牛 2017-02-08 1132℃ 本文重点讲解tomcat的优化. 基本优化思路: 1. 尽量缩短单个请求的处理时间. 2. ...
- Tomcat学习总结(3)——Tomcat优化详细教程
Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...
- Tomcat优化步骤【转】
一.Tomcat的缺省是多少,怎么修改 Tomcat的缺省端口号是8080.修改Tomcat端口号:1.找到Tomcat目录下的conf文件夹2.进入conf文件夹里面找到server.xml文件3. ...
随机推荐
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- canvas-弧形可拖动进度条
一.效果如下: See the Pen XRmNRK by pangyongsheng (@pangyongsheng) on CodePen. 链接dome 二. 本文是实现可拖动滑块实现的基本,及 ...
- 如何应对苹果app 的ipv6 时代?腾讯专家教您进行环境改造
WeTest 导读 WWDC2015苹果宣布在ios9支持纯IPv6的网络服务,并且要求2016年提交到app store的应用必须兼容纯IPv6的网络,要求适配的系统版本是ios9以上(包括ios9 ...
- LeetCode:36. Valid Sudoku,数独是否有效
LeetCode:36. Valid Sudoku,数独是否有效 : 题目: LeetCode:36. Valid Sudoku 描述: Determine if a Sudoku is valid, ...
- List的多维度排序案例演示~
文章也已同步到我的csdn:http://blog.csdn.net/u012881584/article/details/72377510 关于List的多维度排序. 日常工作中有很多关于list的 ...
- js:不是空字符串的空字符串引起的bug
今天在用js的时候,使用了两段完全相同的代码,可是一个报错,一个好好的 代码如下: <script type="text/javascript"> console ...
- SCAU Individual Contest #1
总结一下就是自己太弱.每次打比赛遇到比较难题就喜欢瞎开题,结果都是每题想一下,然后就是结束了. A:题意让你用小写字母构造一个总共有K个的回文串,比如aba的话就是{a}{b}{a}{aba}四个,比 ...
- Extending sparklyr to Compute Cost for K-means on YARN Cluster with Spark ML Library
Machine and statistical learning wizards are becoming more eager to perform analysis with Spark MLli ...
- 由Find All References引发的思考。,
今天在研究C#代码问题的时候遇到了一个Visual Studio的小问题.在Visual Studio 2013中,使用Find All References功能不能找到同一类型不同版本的所有引用,具 ...
- ECMAScript 6.0 简介
ECMAScript 6.0 在es6中有 许多语法.还有lambda的使用.以及 class 的使用 还有一些新的对象来解决一些事情 可以提高开发效率 但更重要的是 颠覆 javascript 在你 ...