性能调优(一)

21 篇文章 0 订阅
1 篇文章 0 订阅

性能调优()

背景

当网站出现性能问题时,通常有三种解决办法:

l 横向扩展: 人多力量大,通过增加服务器来提高系统吞吐量。

l 纵向扩展: 提高单兵作战能力,对软件进行性能优化,在一定程度上可提高系统性能。

l 混合方案: 多面开花,纵向扩展之余再横向扩展。

简单起见,本文以基于Tomcat的单服务器的网站性能调优为例说明优化思路,后续再介绍如何配置服务器集群

优化思路

程序性能优化有两个基本思路:

1. 算法优化

2. 以内存换性能

 

第一个思路通常比较好理解,现在比较流行的电脑配置就是固态硬盘,固态硬盘相比机械硬盘的存储算法不知甩了几条街,由此可见,一个好的算法确实能大幅度提高程序性能。

 

第二个思路也类似,往往加个内存条,之前跑起来很卡的大型程序瞬间就顺畅了很多。

Tomcat案例分析

Tomcat请求处理过程

 

开始讨论之前,先简单了解一下Tomcat处理请求的过程,

1:将请求放入请求队列(Accept队列)

2 : 从请求队列提取一定个数的请求(maxConnections)

3:由线程池处提取的请求,当处理完请求后,再从Accept队列中的提取请求,直至提取的请求个数达到最大请求个数(maxConnections)

提高处理能力

根据算法优化思路, Tomcat请求处理过程有两个点可优化, 一:扩大请求队列的容量acceptCount,二:增加线程池中的线程个数提高并行处理能力.

可通过修改C:\apache-tomcat-9.0.12\conf\server.xml实现

 

 <Executor name="tomcatThreadPool"

namePrefix="catalina-exec-"   maxThreads="1000"  

 />

<Connector port="8080"            

protocol="HTTP/1.1"  

      executor="tomcatThreadPool"

         acceptCount="1000" 

         maxConnections="1000" 

>

 

其中关键参数含义:

maxConnections:一次最多能处理的请求个数

maxThreads:处理请求的最大线程数

acceptCount:请求队列长度

增加内存

除了提高处理能力外,还可以Tomcat的堆配置,Tomcat的默认配置通常比较的小,不太适合生产环境。

堆的修改可通过修改apache-tomcat-9.0.12\bin\catalina.bat实现,如下所示:

 set "JAVA_OPTS=%JAVA_OPTS%  -Xms800m -Xmx2048m  

参数含义:

Xms:初始堆大小

Xmx:最大堆大小

 

 

 

 

 

 

 

 

 

 

 

    

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值