512m内存做网站,邵阳网站开发公司推荐,网上免费开店怎么开,天眼在线查企业查询tomcat的优化
tomcat自身的优化
tomcat的并发处理能力不强#xff0c;大项目不适应tomcat做为转发动态的中间件#xff08;k8s集群#xff0c;pytnon rubby#xff09;#xff0c;小项目会使用#xff08;内部使用的#xff09;动静分离
默认配置不适合生产环境…tomcat的优化
tomcat自身的优化
tomcat的并发处理能力不强大项目不适应tomcat做为转发动态的中间件k8s集群pytnon rubby小项目会使用内部使用的动静分离
默认配置不适合生产环境可能频繁出现假死需要不停的重启。
根据生产环境的实际情况自行测试。 优化tomcat的启动速度
file:/dev/urandom
非阻塞的版本不依赖系统的终端进程忙也不会进入等待状态所以处理速度相对较快
如果对应用的安全性要求比较高只能用/dev/random 配置文件优化
vim server.xml
maxThreadstomcat使用线程来处理接收请求的个数tomcat最多可以创建多少个线程默认200个
minSpareThreads最小空闲数线程tomcat开启之后没人使用也会有进程待命默认值是10
maxSpareThreads最大空闲数线程一旦线程总数超过这个值tomcat就会关闭不再需要的线程默认是-1不限制一般不设置
connectionTimeout20000 网络连接超时时间单位是毫秒设置成0则永不超时。默认即可
enableLookups是否支持反向解析truefalse关闭false可以提高处理速度。
disableUplaodTimeout上传时是否使用超时机制10strue禁用和false开启
connectionUploadTimeout上传的超时时间
acceptCount当所有可用的处理请求的线程数都被使用时可以接入请求的最大队列长度超过了这个数的请求将被不予处理直接丢弃默认100个
comperssion是否对响应数据进行压缩on开启off关闭
开启压缩之后可以有效的减少页面的大小文本无效图片、音频、视频一般可以减少三分之一节省带宽默认off
comperssionon
comperssionMinSize表示响应压缩的最小值只有响应报文大于这个值才会进行压缩。如果开启了压缩默认值2048
noCompressionUserAgents浏览器名称对于这些浏览器不启用压缩
compressableMimeType页面类型压缩类型指定对哪些类型的文件进行压缩
常用的页面类型
文本类型text/plaintext/htmltext/javacript
图片类型image/jpgimage/jpegimage/gif
音频audio/oggwavmpeg
视频video/MP4webmrmvb。quicktime
应用程序application/pdfjsonxml 内核优化
系统安全的优化补齐
内核优化的配置文件
1、vim /etc/security/limits.conf 打开文件数的限制。系统初始化第一步要做的事情
2、内核参数文件
vim /etc/sysctl.conf
net.ipv4.ip_forward0/1 禁用或者开启数据包的转发功能要做路由器必须打开0是关1是开
net.ipv4.tcp_max_tw_buckets2000允许timewait的最大数量
net.ipv.4tcp_sack1启用有选择的应答提高tcp的处理性能
net.core.netdev_max_backlog262144网络接口接收数据包队列最大的大小
vm.swappiness0关闭内存的交换行为不适用交换分区k8s默认就不能适用交换分区否则会报错
net.ipv4.tcp_max_orphans系统允许的最大的tcp连接数量
net.ipv4.ip_local_port_range1024 65000
1024-65000 设定系统的端口范围
net.ipv4.tcp_fin_timeout10设置tcp关闭连接的超时时间
net.ipv4.tcp_keepalive_time设置tcp的keepailve包的探测包的发送频率用于检测连接状态 jvm优化
vim catalina.sh JAVA_OPTS$JAVA_OPTS -server -Xms2048m -Xmx2048m -Xmn768m -XX:ParallelGCThreads2 -XX:PermSize1024m -XX:MaxPermSize1024m -Djava.awt.headlesstrue -XX:DisableExplicitGC cygwinfalse
各端含义理解即可
-Xms2048mjava初始化堆的大小分配jvm的最小内存cpu的性能比较高可以分配的高一点
-Xmx2048mjava堆的最大值也就是jvm的最大内存取决于物理内存的大小官方建议设置成与xms一样的值。设置成物理内存的一半
-Xmn768m新生代内存的大小官方推荐设置成jvm内存最大值的3/8 java自带垃圾回收机制java进行垃圾回收之后不需要重新计算堆区的大小 堆区新生代中生代老年代 每生成一个新的对象对象占用的内存空间就是新生代空间 垃圾回收对堆区当中的资源进行回收之后新生代没有被回收的资源就转移到中生代 中生代的就会转移到老年代 整个jvm堆的大小新生代老年代永久代系统自带的
-XX:ParallelGCThreads2配置并行收集器的线程数同时有多少个线程一起进行来及回收配置成cpu的一半
-XX:PermSize1024m设置非堆内存的初始值之久代内存的大小默认是物理内存的1/4建议设置成整个jvm内存的一半 非堆内存是不会被java的垃圾回收机制处理的
-XX:MaxPermSize1024m非堆内存的最大值和初始值一致即可
-Djava.awt.headlesstrue防止在linux访问的情况下web页面的图片不能打开
-XX:DisableExplicitGC老年代的收集算法缩短垃圾回收机制回收的时间 各段含义
PS Eden Space 堆内存创建一个新的对象都在堆内存中万恒
PS Old Gen 堆内存长期存活的对象永生代
PS Survivor Space 堆内存PS Eden Space和PS Old Gen之间的存活对象中生代
Code Cache 非堆内存存储以及编译的代码
Compressed Class Space 非堆内存存储以及压缩过的类定义
Metaspace非堆内存存储元数据的区域 ajp-nio-8009
ajp-nio连接器的类型ajp协议nio异步非阻塞的通信方式
ajp协议tomcat服务器和web服务器之间进行连接的协议可以提供负责均衡和高效转发nio可以提高并发的处理能力
8009就是ajp的默认端口 tomcat和nginx实现动静分离
实验1
访问nginx就是静态页面
通过nginx代理 index.jsp 可以访问tomcat的动态页面 1.分别在tomcat1和tomcat2做动态页面 2、
分别在tomcat1和tomcat2添加站点
cd conf
vim server.xml
先删除原有的站点 然后添加
Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalse Context docBase/usr/local/tomcat/webapps/test path reloadabletrue /
启动 查看端口是否启动 3、配置nginx部分
cd /usr/local/nginx/conf/
先备份
cp nginx.conf nginx.conf.bak
vim nginx.conf 重启nginx
systemctl restart nginx
结果 实验2
访问index.html就是静态页面访问index.jsp就是访问tomcat的动态页面 在实验1基础上添加nginx2 nginx3做一个四层代理
cd /usr/local/nginx/conf
vim nginx.conf 重启nginx
systemctl restart nginx
结果