服务器优化?(小白篇)

一、介绍

高并发系统除了项目本身的优化,对于服务器容器的优化,也是性能的一个核心重点!主要有Nginx,Tomcat,操作系统本身的优化,优化的重点依旧是在请求连接的时间缩短,设置缓存等!

二、场景

------------Tomcat的优化,主要分为内存的优化,APR连接器的优化!

Tomcat的基本是由于server.xml中的监听组件对请求进行连接,校验请求,调用引擎,上下文校验,送入项目这么一个过程!因此重点在连接的处理和内存上!

Windows下,在文件catalina.bat里面,Linux下,在文件catalina.sh的前面,增加如下设置: 

Tomcat的默认内存是128M,在大型项目中往往是不够用的,需要改变内存的大小,一般是512M,但也可以根据你系统改变,此外对于内存溢出的报错,我们也需要知道,因此可以设置将内存错误输出,方便排查!

JAVA_OPTS=“-server -Xms 2048M -Xmx2048M -xx:+HeapDumpOnoutofMoryError -xx:HeapDumpPath=$CATALINA_HOME/logs/heap.dump"

注意:每一个版本的Tomcat其设置都是有所不同的,本版本为8.5,此处只提供思路,不一定适用,一切以官网为主

------------Tomcat的并发优化

在Tomcat的server.xml中我们可以看到conntector两个组件,一个是场景的http连接,一个AJP连接,一般情况下我们使用的是http1.1版本的连接!

注意:这里需要说下AJP和http连接的区别,我们都知道http是一种无状态,面向连接的TCP协议,支持三次握手四次挥手,在高并发场景中,如果每次请求都需要如此操作,无疑会浪费大量的时间,因此AJP出现了。AJP是一种定向包协议,也是在HTTP的基础上做了一定的包装,原理是为减少socket的花费,对多个请求/回复循环用一个连接,保持一个TCP连接不断开,但会造成同一时间有多个连接存在。因此AJP可以说是对http的一种加工!
关于高并发优化的基本改变是对connector允许的连接进行改变,也即是如下:

/config/http.html(详情查看)
macConnections:支持最大的并发(10000),如果是APR就是(8192),如果是APR就会控制在最大值之下,但是依旧是1024的倍数
acceptcount:超过10000并发,会默认创建一个新队列,并且其请求默认是100个
maxthreads:八核的CPU,默认200个,同时如果cpu越高,线程可越高。一般还是受限制与系统内核参数<2000个的win,<1000的linux
minSpaareThreads:最小空闲线程数

-----------Tomcat的APR

Tomcat的原生库基于Apache可移植运行时(Apache Portable Runtime简称APR),给程序员提供了超强的扩展性和性能,在产品运作中帮助融合原生的服务器技术以展现最佳的性能 !

APR的安装网上已经有一些很好的博客,这里不多少,只要记住高并发时不要忘了他就OK,

按照正常流程安装好后,可以关注一下几个点:(host.html/context.html)

autpDeploy:自动检查项目是否有更新,默认为true
enableLookups:如果需要做request.removeHost(),DNS查询就要做,如果禁用会提高性能
reloadable:如果系统变化,会载入整个 web-info,会造成非常严重的负载,在线上是不允许启动的


常用的安装套路:(已安装native为例子)
=====>tar -zxvf tomcat-native.tar.gz
=====>cd tomcat-native-1.2.12-src
=====>cd native
=====>./configure  --frefix=/usr/local/apr --with-ssl=/usr/local/openssl:指定安装了一个路径
=====>make install


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值