公开 内部公开 机密 绝密√
1) MVC架构示意
8/12/2013
版权所有,侵权必究All rights reserved
第21页,共39页Page 21 , Total39
公开 内部公开 机密 绝密√
2) Struts架构
客户端发送一个HTTP请求,通过Struts框架最后获得一个HTTP响应,这一过程非常重要,它是理解Struts框架的重点。上图描述了Struts框架的结构,而下图通过一个活动图更具体描述接受请求直至返回响应的整个过程:
8/12/2013
版权所有,侵权必究All rights reserved
第22页,共39页Page 22 , Total39
公开 内部公开 机密 绝密√
2. 面向服务的应用架构
面向服务的应用架构是指构建可分布式的、去中心化的服务器平台,以提供许多不同的应用,数据库被分成很多个小部分,围绕每个部分都会创建一个服务接口(API),并且该接口是访问数据库的唯一途径。最终数据库演变成一个非常庞大的共享资源。
这种架构是松散耦合的,并且围绕着服务进行构建。面向服务的架构提供给他们隔离特性,一个服务可能有很多台数据库服务器,他们之间的数据是相通的,而对外他们的接口只有一个,外面是无法知道这个服务后面的数据组织是如何搭建的。
8/12/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。 8/12/2013
版权所有,侵权必究All rights reserved
第24页,共39页Page 24 , Total39
公开 内部公开 机密 绝密√
enableLookups: 是否反查域名,默认值为true。为了提高处理能力,应设置为false connnectionTimeout: 网络连接超时,默认值60000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 maxKeepAliveRequests: 保持请求数量,默认值100。 bufferSize: 输入流缓冲大小,默认值2048 bytes。 compression: 压缩传输,取值on/off/force,默认值off。 其中和最大连接数相关的参数为maxThreads和acceptCount。如果要加大并发连接数,应同时加大这两个参数。 web server允许的最大连接数还受制于*作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。 2.4.3 apache服务器优化
加大并发数量和关闭不需要的模块。因为apache非常消耗内存,尽量轻量化。
Apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule,保证更高的系统消耗和执行效率
同时配置apache和tomcat的组合使之能作到动静分离,apache处理静态页面,tomcat处理动态页面。 在处理静态页面或者图片、js等访问方面,可以考虑使用lighttpd代替Apache,它提供了更轻量级和更高效的处理能力
2.4.4 Nginx服务器的优化
worker_processes:该参数的值最好跟cpu核数相等,能够发挥最大性能,如果nginx所在服务器为2颗双核cpu,则建议设定为4。
3 Web服务架构评测
主要对基于tomcat和nginx+tomcat的web服务器的处理性能进行测试,以作为不同性能要求下架构选型的依据
3.1 测试环境
3.1.1 网络环境 1. 内网带宽 ? 千M内网。
? 内网ping包延迟:< 0.1ms
第25页,共39页Page 25 , Total39
8/12/2013
版权所有,侵权必究All rights reserved
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库bs架构设计方案 - 图文(5)在线全文阅读。
相关推荐: