服务器优化----Tomcat优化

Tomcat优化,配置优化

1.内存优化
JAVA_OPTS="-server -Xms2048M -Xmx2048M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/heap.dump"
2.并发优化
${tomcat}/webapps/docs/config/http.html
maxConnections:最大并发连接数,NIO和NIO2默认10000,APR/native模式是8192,The maximum number of connections that the server will accept and process at any given time 

acceptCount: 队列最大排队数,默认值是100,The maximum queue length for incoming connection requests when all possible request processing threads are in use.

maxThreads:最大工作线程数,The maximum number of request processing threads to be created by this Connector

minSpareThreads:最小空闲的工作线程。The minimum number of threads always kept running
3.其他优化,
${tomcat}/webapps/docs/config/host.html
autoDeploy:This flag value indicates if Tomcat should check periodically for new or updated web applications while Tomcat is running

${tomcat}/webapps/docs/config/http.html
enableLookups:false

${tomcat}/webapps/docs/config/context.html:
reloadable:默认false,开发阶段可以设置true,负载很重
4. connector:apr
http://apr.apache.org/
依赖:
APR 1.2+ development headers (libapr1-dev package)
OpenSSL 1.0.2+ development headers (libssl-dev package)
JNI headers from Java compatible JDK 1.4+
GNU development environment (gcc, make)
 
yum install apr* openssl-devel gcc make

tar zxvf apr-1.4.5.tar  
cd apr-1.4.5  
./configure --prefix=/usr/local/apr  
make  
make install  

tar -zxvf apr-iconv-1.2.1.tar.gz  
cd apr-iconv-1.2.1  
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr  
make  
make install

yum install expat-devel

tar zxvf apr-util-1.3.12.tar.gz  
cd apr-util-1.3.12  
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make  
make install 

安装openssl 1.0.2
./config  --prefix=/usr/local/openssl
修改Makefile:
vi Makefile
将原来的:CFLAG=     -DOPENSSL_THREADS
修改为:  CFLAG= -fPIC -DOPENSSL_THREADS
也就是添加-fPIC
执行执行:
make && make install

cd bin
tar -zxvf tomcat-native.tar.gz
cd tomcat-native-1.2.12-src
cd native
./configure --with-apr=/usr/local/apr --with-ssl=/usr/local/openssl 
make
make install

catalina.sh:
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib
注意:开启了apr之后,jvm用到的native内存会增大,因此要适当调大Metaspace空间,添加JVM选项:-XX:MetaspaceSize=128m
JAVA_OPTS="-server -Xms2048M -Xmx2048M -XX:MetaspaceSize=128M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/heap.dump"
server.xml:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443" />

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />

LVS四层负载均衡

LVS + Keepalived高可用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些...
    jiangmo阅读 12,946评论 3 36
  • Linux服务器集群系统各概念辨析 计算机集群 WEB的负载均衡、集群、高可用解决方案 计算机集群 计算机集群简称...
    Zhang21阅读 3,318评论 0 18
  • 【摘要】 面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器...
    静修佛缘阅读 4,625评论 0 24
  • 有个人曾经说过,人的一生可能会遇到五千多万个人,但是能跟你互相心动的却少之又少,大好年华,为什么要浪费在等待与自卑中呢?
    只吃餐厅的食土者阅读 259评论 0 0
  • 人活在世上的确太难了。只要有过深入的了解,便必然发觉每个人都值得可怜。而事情的残酷在于:值得可怜不意味着值得爱。所...
    我是来剪花骨朵的阅读 210评论 0 0