公开 内部公开 机密 绝密√
1) MVC架构示意
4/4/2013
版权所有,侵权必究All rights reserved
第21页,共39页Page 21 , Total39
公开 内部公开 机密 绝密√
2) Struts架构
客户端发送一个HTTP请求,通过Struts框架最后获得一个HTTP响应,这一过程非常重要,它是理解Struts框架的重点。上图描述了Struts框架的结构,而下图通过一个活动图更具体描述接受请求直至返回响应的整个过程:
4/4/2013
版权所有,侵权必究All rights reserved
第22页,共39页Page 22 , Total39
公开 内部公开 机密 绝密√
2. 面向服务的应用架构
面向服务的应用架构是指构建可分布式的、去中心化的服务器平台,以提供许多不同的应用,数据库被分成很多个小部分,围绕每个部分都会创建一个服务接口(API),并且该接口是访问数据库的唯一途径。最终数据库演变成一个非常庞大的共享资源。
这种架构是松散耦合的,并且围绕着服务进行构建。面向服务的架构提供给他们隔离特性,一个服务可能有很多台数据库服务器,他们之间的数据是相通的,而对外他们的接口只有一个,外面是无法知道这个服务后面的数据组织是如何搭建的。
4/4/2013
版权所有,侵权必究All rights reserved
第23页,共39页Page 23 , Total39
公开 内部公开 机密 绝密√
这样就有了越来越多的应用服务器。这些应用服务器从数据众多的服务(每个服务背后都有数据库或集群数据库)中聚合信息,然后生成我们所看到的Amazon.com的各个网站页面。
这样各种服务如插件一样组成了一个开放的平台,这样团队的规模就会比较小,比较灵活。 注Amazon就是采用了这种架构来构 建的,它拥有上千台服务器。
2.4 系统软件参数优化
在一定的架构基础上,要提高并发处理能力则需要调整服务器的操作系统内核参数、web服务器(tomcat的参数、apache的参数、Nginx的参数),以使其性能达到最优化。 2.4.1 操作系统优化
调整系统的内核参数,增大连接数及TCP/IP的超时设置。 Linux系统中:
在/etc/sysctl.conf配置文件中增加如下内核参数: net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 5 2.4.2 tomcat服务器优化
增大并发连接数,调整内存参数的设置。
1、JDK内存优化: 当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。 Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大. Tomcat默认可以使用的内存为128MB,Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置: JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】' 需要把这个两个参数值调大。例如: JAVA_OPTS='-Xms256m -Xmx512m' 表示初始化内存为256MB,可以使用的最大内存为512MB。 2、连接器优化: 在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: maxThreads: Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值150。 acceptCount: 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。 minSpareThreads: Tomcat初始化时创建的线程数。默认值25。 maxSpareThreads: 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值75。 4/4/2013
版权所有,侵权必究All rights reserved
第24页,共39页Page 24 , Total39