大型Java Web系统服务器选型问题探讨
服务器及其选型
服务器及其选型在当今的数字化时代,服务器作为数据中心的核心设备,扮演着至关重要的角色。
服务器选型则是在这个过程中做出的关键决策,它影响着企业的业务运行、管理效率以及数据安全。
本文将探讨服务器的基本概念、选型考量因素以及市场上的主流服务器品牌。
服务器是一种专用的计算机,它通过网络为其他设备提供服务。
根据其功能和用途,服务器可分为多种类型,如文件服务器、数据库服务器、Web服务器等。
服务器的主要特点包括高可用性、高扩展性、高灵活性以及高安全性。
服务器性能:服务器的性能决定了其处理任务的能力。
在选择服务器时,我们需要考虑其CPU、内存、硬盘等硬件配置,以及其支持的操作系统和应用软件。
数据存储和备份:企业的重要数据都存储在服务器上,因此服务器的存储容量和数据备份能力至关重要。
需要考虑服务器是否支持远程备份和恢复,以防止灾难性数据丢失。
网络安全性:随着网络攻击的增加,服务器的安全性变得越来越重要。
我们需要考虑服务器是否具备足够的安全特性,如防火墙、入侵检测系统等。
可管理性和可维护性:服务器的管理性和可维护性也是选型的重要考量因素。
我们需要考虑服务器的管理工具是否完善,以及其硬件和软件是否易于升级和维护。
成本效益:我们需要考虑服务器的成本效益。
尽管高性能的服务器可能更昂贵,但长期来看,它们可以提高工作效率并降低总体拥有成本。
:是全球领先的ICT解决方案供应商,其服务器产品线覆盖了从边缘计算到数据中心的多层次需求。
的服务器产品以高性能、高可靠性和高安全性著称。
戴尔:戴尔是一家全球知名的IT解决方案供应商,其服务器产品线也非常广泛。
戴尔的服务器以其高效、可靠和易用性而受到用户的青睐。
联想:联想是全球最大的PC制造商之一,其服务器产品线也相当丰富。
联想的服务器产品以高性能、高扩展性和优秀的售后服务而受到用户的赞誉。
HPE(惠普企业):HPE是全球领先的企业级IT解决方案提供商,其服务器产品线也非常广泛。
HPE的服务器以其高效、可靠和易用性而受到用户的青睐。
服务器部署方案对比与选择建议
服务器部署方案对比与选择建议在选择服务器部署方案时,往往需要考虑多个因素,包括性能、可靠性、成本等。
本文将对几种常见的服务器部署方案进行对比,并给出选择建议。
**1. 物理服务器**物理服务器是指实际的硬件设备,通常由企业购买并放置在自己的数据中心或托管服务提供商的机房中。
物理服务器通常具有较高的性能和稳定性,适用于对性能要求较高的应用。
优点:- 性能稳定:物理服务器通常具有较高的性能,适合对性能要求较高的应用。
- 安全可控:企业可以完全控制物理服务器的安全设置,保护数据安全。
缺点:- 成本高昂:购买和维护物理服务器需要较高的成本,包括硬件成本、机房租赁成本等。
- 扩展性差:如果业务增长需要扩展服务器,需要购买新的硬件设备,扩展性较差。
**2. 虚拟私有服务器(VPS)**虚拟私有服务器是将一台物理服务器通过虚拟化技术划分成多个独立的虚拟服务器,每个虚拟服务器拥有独立的操作系统和资源。
VPS通常由云服务提供商提供。
优点:- 成本较低:相比物理服务器,VPS的成本较低,适合中小型企业或个人用户使用。
- 灵活性高:可以根据实际需求随时调整VPS的配置,灵活性较高。
- 管理简便:VPS通常由云服务提供商管理硬件设备和网络环境,用户只需关注自己的虚拟服务器即可。
缺点:- 性能一般:由于多个虚拟服务器共享一台物理服务器的资源,VPS的性能可能受到其他虚拟服务器的影响。
- 可靠性较低:如果物理服务器发生故障,所有基于该物理服务器的VPS都会受到影响。
**3. 云服务器**云服务器是基于云计算技术构建的虚拟服务器,可以根据实际需求动态调整资源配置。
云服务器通常由云服务提供商提供,如阿里云、腾讯云等。
优点:- 弹性扩展:可以根据业务需求随时调整云服务器的配置,实现弹性扩展。
- 高可靠性:云服务器通常具有高可靠性,提供多重备份和容灾机制,保障业务连续性。
- 按需付费:用户可以根据实际使用的资源量付费,避免资源浪费。
Java Web应用系统性能优化指南
Java Web应用系统性能优化指南随着互联网的不断发展,Web应用系统正在成为企业级应用系统的主要形式。
而Java作为Web应用系统开发的主要语言,其高可靠性和开发效率带来的便利,正被越来越多的企业所接受。
但是,Java Web应用系统的性能问题也越来越受到开发人员和运维人员的关注。
因此,本文将从多个角度探讨Java Web应用系统的性能优化,帮助开发人员和运维人员更好地解决性能问题。
1. 优化数据库数据库是Web应用系统中最常用的组件之一,也是性能瓶颈所在之一。
因此,通过对数据库进行优化,可以大大提高整个系统的性能。
1.1 数据库读写分离在数据库中,读操作和写操作所消耗的资源是不一样的,为了提高数据库的性能,通常需要将读写操作分离。
即通过主从复制的方式,将读操作分配到从库上,将写操作分配到主库上。
这样可以避免读写操作之间的竞争,提高系统的并发处理能力。
1.2 使用索引索引是数据库优化的重要手段之一,通过建立适当的索引,可以加快数据查询的速度。
但是,在使用索引时需要注意,适当的索引可以提高查询速度,但是过多的索引会增加数据库的维护成本,并且会降低更新操作的效率。
1.3 数据库连接池数据库的连接是比较耗费系统资源的,为了避免频繁建立和关闭数据库连接,通常使用连接池来管理数据库连接。
连接池会维护一定数量的数据库连接,并且在需要时分配给请求方使用,请求完成后将连接释放回连接池。
使用连接池可以避免频繁地连接和关闭数据库,提高系统的性能。
2. 优化代码代码问题也是影响Web应用系统性能的一个关键因素。
通过对代码进行优化,可以提高系统的稳定性和性能。
2.1 避免双重循环在编写代码时,需要注意避免双重循环。
双重循环是比较消耗系统资源的,会导致系统的响应速度变慢。
因此,在处理大量数据时,应该尽量避免使用双重循环。
2.2 使用缓存使用缓存可以减轻数据库的负担,提高系统的响应速度。
缓存是一种内存数据存储技术,可以将常用的数据存储在内存中,提高系统访问速度。
Java框架的选择选对适合项目的开发框架
Java框架的选择选对适合项目的开发框架在当今软件开发行业中,Java已经成为一种非常流行和强大的编程语言。
为了更高效地开发Java应用程序,很多开发者会选择使用Java 框架。
然而,在选择合适的开发框架时,开发者需要考虑多个因素,包括项目需求、开发团队经验和框架的性能等。
本文将讨论Java框架的选择并提供一些帮助开发者选取适合自身项目的框架的建议。
1. 确定项目需求在选择Java框架之前,首要任务是明确项目需求。
不同的项目可能有不同的性质和目标。
例如,如果你正在开发一个大型的企业级应用程序,那么你可能需要选择一个功能齐全、可扩展性强的框架,如Spring Framework。
然而,如果你只是在开发一个简单的Web应用程序,那么选择一个轻量级框架,如Spring Boot,可能更合适。
2. 考虑开发团队经验开发团队的经验对于框架的选择非常关键。
如果你的团队已经熟悉并擅长使用某个框架,那么选择该框架会提高开发效率和减少学习成本。
另一方面,如果你的团队对某个框架并不熟悉,那么选择一个更为简单易用的框架可能更加明智。
3. 考虑框架的生态系统一个好的框架应该有一个强大的生态系统,包括活跃的社区支持、丰富的文档和示例代码。
这些资源能够帮助开发者解决遇到的问题并提升开发效率。
因此,在选择框架时,建议考虑框架的社区活跃度,并查看是否有足够的支持和资源可用。
4. 考虑框架的性能性能是开发过程中非常重要的因素之一。
选择一个性能良好的框架可以提高应用程序的响应速度和用户体验。
对于性能要求较高的项目,可以选择基于轻量级的框架,如Spark或Play Framework等。
另外,定期对框架进行性能测试和优化也是提高应用程序性能的重要步骤。
5. 考虑框架的可扩展性在项目开发的早期就要考虑到项目可能的扩展需求。
一个具有良好可扩展性的框架可以让你更容易地添加新功能和模块。
因此,在选择框架时,建议考虑框架的扩展性和是否有足够的插件和扩展库可用。
网络服务器的选型探讨
1网络 服务 器主机 的选 型 吞吐量越大越好。服务器总线的类型比较多。一般情况下, 应在满足主 要 性能 的前 提 下 , 选 择 通用 的 总线 , 因为 越是 通 用 的总 线 , 越容 易得 到 服务器有以下几种类型可供选择 : 1 . 1 采用大型机或小型机作为网络服务器。 用大型机或小型机作 为 更广泛的外围设备的支持。 网络服务器( 网络主机) , 可使网络系统具有很强的容储性和扩充J 陛, 并 5服 务器 的可 扩充性 5 . 1中央处理器的可扩充性。扩充中央处理器一般是为了提高整个 可以充分保证数据完整的可靠性。 但是 , 大型机或小型机的操作方法一 般比较复杂 , 并且通用性较差, 用户界面也不很友好 。加上大型机或小 服务器的速度。所谓中央处理器的可扩充 眭, 就是指它能否与各种服务 型机的价格昂贵 , 所 以, 目前选用大型机或小型机作为服务器的已经不 器的总线结构很好协调工作 , 使用户能根 多。 据实际需要 , 选用不同的服务器总线结构。 1 . 2 采用一般的 P c 机作为服务器。P c 机服务器价格低, 易操作 , 兼 5 . 2内存、 外存的最大容量。 内存的大小直接影响服务器软件的运行 容性强 , 可扩充 陛好 , 升级方便。 但是 , P c 机作服务器经常会遇到数据出 效率 , 内存小, 必将增加内存与磁盘之间的数据交换的次数。外存的大 错和丢失, 在大容量网络上操作时往往受到等待时间长和死机的困扰。 小决定了能存储多少个数据库文件。当前服务器支持的内存容量大多 0 G B以上, 外存高达几十个 G B 。不过 , 用户通常不可能一次配置很 不过 , 对 于那些 网点不多的网络 , 或网络通信量不大的网络 , 或数据 的 在 1 淮确性和可靠性要求不高的网络 , 选用 P c 机作为网络服务器还是比较 大容量的内存或外存, 而是逐渐加以扩充的。所以, 选择服务器时 , 服务 合适的。 器主板应有足够多的内存扩充槽, 并且还应该有 良好的外存可扩充性。 l - 3 采用 P c 专用服务器作为网络服务器 。 一般 P e 专用服务器把大 5 . 3 服务器对各种国际标准的支持。 选择网络体系时 , 首先要考虑选 型机和小型机的超强数据与事务处理能力 、 完善的数据保护能力 、 多级 用国际标准的网络体系。因此 、 选择服务器必须与通用的网络国际标准 的容错能力 , 以及极易的扩展能力和 P c 服务器的操作方便 、 兼容 l 生 强、 有 良好的兼容 I 生和可扩充性,以满足网络技术与网络应用不断发展的 价格低的优势融为—体。这类服务器在 当前和未来一段时期代表了服 要求 。 务器发展的特点和趋势。以下有关服务器选择的具体要求主要是针对 8服务器的可靠性措施 这一类服务器而言的。 服务器的高可靠性是对服务器最基本的要求之一。不过, 不同要求 2 服务 器的 基本 类型 的应用对服务器的可靠性要求不同,即服务器采取的可靠性措施也不 服务器的分类有许多方法 , 按用途分, 服务器基本上可分为三类 : 样。一般服务器的可靠性措施有 : a 内存 多采用 E C C校验 ; b . 外存校 运算型服务器、 网络文件服务器 、 数据库服务器。 验. c . 支持双电源供电; d 支持单电源系统。 2 . 1 运算服务器 。 运算服务器是一种专 门进行 陕速运算事务处理的 7 具有 容错性 系统。所以运算服务器的性能基本上取决于服务器 中央处理器的计算 容错性对于网络服务器来说是—个重要性能。一方面能保证 网络 能力 。 的持续运行 , 另一方面能减少由于数据丢失而造成的损失。 服务器容错 2 . 2 网络文件服务器 。网络文件服务器是网络逻辑结构的中心。因 性一般包括硬盘镜像和硬盘双工两种方式。当某一硬盘中的数据丢失 此, 对 网络文件服务器除要求有一定 的运算能力外, 更重要的是要求有 或被破坏时 , 可以继续使用另一硬盘中的数据, 不至于中断网络运行 。 足够高的 I / O通量 , 即网络文件服务器应该有一个与高速存储器匹配 当然 , 这是以硬盘实际容量加倍为代价的。 的高速 I /O通道, 以提高服务器的性能。 8服 务器 的集群 性 2 . 3 数据库服务器 。数据库服务器要求中央处理的功能更强 , 以便 在某些网络的应用系统 中, 对服务器的可靠性和可用性要求极高 , 有效地执行数据库系统软件相应用软件 ,进行大量复杂的计算与事务 即要求服务器以及整个系统能一天 2 4 小时不停地工作。这时 , 一般建 处理。 因而就要求数据库服务器有更高速的 I / O通量 , 以便能在磁盘、 存 议采用集群系统 , 以提高整个网络系统的可靠性和可用性。 储器和网络之间高效传输数据, 减少 网络瓶颈的产生。 集群系统由两台和多台服务器组成。集群系统配成全冗余系统, 以 3 服务 器的微 处理 器 实现数据共享和集群系统间的硬件动态调整 ,由此保证不因单点失败 服务器的中央处理器( 也称微处理器) 是服务器的心脏 , 它决定了服 而导致整个网络系统的瘫痪 ; 并且当某一台服务器出现故障时, 系统还 务器的体系结构 , 并且是决定服务器速度的根本因素。 选择服务器时首 能 自动重构, 降级运行。如果除要求 2 4 h 不停工作外 , 还对故障出现后 先要看服务器采用什么样的中央处理器 。 系统 的切换和重组有—定的实时要求 的话,建议服务器采用容错型计 目前 , 绝大多数微处理器都是 3 2 位 的, 但已经有 6 4位的芯片可供 算机。 选择 , 虽然 6 4 位芯片还未得 到广泛的软件支持 , 即使使用 了6 4 位微处 9服务器的性能与价格 理器也不能充分发挥其潜能。 但是.至少在做同样的乘除运算时, 6 4位 般来讲 , 高性能和高可靠性就意味着高价格。对服务器的选择 , 微处理器比 3 2 位微处理器的速度要 陕j 辱多,从长远考虑 , 6 4 位微处理 从用户的角度来讲 , 当然是性能越好 , 可靠性越高, 而价格越低越好。 器是未来发展的趋势 。 经验表明, 对服务器的选择侧其 他网络设备的选择也同样) , 首要考 4服务器的总线类型 虑的是组网经费的限制 , 否则 , 只能是“ 画饼充龙 几 ” 。因此, 对服务器选 型 为了能充分发挥服务器的效能 , 服务器的微处理器 、 存储器 、 I /O 的任务就是, 在经费允许的范 围内, 如何选择服务器使其 l 生 能和可靠性 控制器等必须配合得十分协调。微处理器 、 存储器 、 I / O控制器之间的 满足实际蝴 j 的要求 ,在此基础上再对服务器的其他性能作进一步的 数据传输效率和指令传输效率与系统总线的传输速率密切相关, 因此 , 调整 , 以选择出性能价格 比最高的服务器 。 系统总线对服务器的速度号 陛能有着非常大的影响。 参考文献 I / O控制器是专门控制数据输入和输出的。 作为服务器 , 不但要处 【 1 ] 朱 坤华, 李学勇. 高校校园网的构建及网络设备选型初探切. 河南职业 理大量的数据输入与输出、 而且在硬盘上要进行频繁的读和写 , 因而要 技术师范学院学报, 2 0 0 3 ( 1 ) . 求服务器的 I / O总线和 I /O控制器的传输速率应尽可能地高 ,以充 [ 2 ] 王 少林, 张毅_ 高校校 园网设计 方案叨. 士林粮食 高等专科学校 学报 , 分保证服务器的高性能。即服务器应具有较 陕的 I /o总线 , 带有较多 2 0 0 1 ( 4 ) . 的I / o控制器, 每个控制器应有较高的传输速率。 总之 , 服务器的 I / 0
WEB系统选型及配置
Web系统选型及配置合肥英信科技有限公司一、前言进入八十年代以来,世界上几乎所有发达国家都已相继建成了国家级的教育和科研计算机网络,并且相互连成覆盖全球的国际性学术计算机网络Internet。
目前以计算机技术、网络技术和多媒体技术为核心的现代化科学技术的开发与应用,已经渗透到社会的各个领域,对社会产生了巨大的影响。
这种全球计算机信息网络的产生加快了信息传递的速度,从根本上改变并促进了相互之间的信息交流、资源共享、信息发布、网上交易等,已成为Internet中一些最基本的应用。
随着网络的发展,以及人们对网络传输等要求的提高,也相应使建设者对服务器、网络等方面的建设要求发生了变化,特别是近两年服务器在CPU、内存、网络(卡)等方面的讯速升级,也为用户提供了更多的选择空间。
二、用户需求服务器建设是整个校园网规划建设的一个重点部分,是各种应用服务的基础平台,签于这次校园网建设规划中,涉及的应用服务不是多,服务器数量也不是太多,但为了便于用户后期应用的增长(增加)方便用户服务器增加与扩充,同时考虑到方便用户的集中管理和降低管理与维护的成本,具体需求如下:1、WEB服务器:运行整个系统网站,同时把这个网站作为发布的一个平台,所有访问者都可以通过这个平台可以更便捷轻松使用或查询所有信息服务,同时也可以为为一些厂商提供产品信息使用手册等以方面用户进行快速下载。
同时也要考虑到随着应用的增长,数据量的增加在没有存储的情况下,则需要服务器本身要较大扩容(硬盘)空间,同时由于只有一台机器来支撑着整个系统,所以在存储、电源等方面要采用冗余的设计思想。
三、建设基本原则根据用户的需求和针对WEB系统的设计思路,浪潮推出了IFA智能弹性架构服务器及“活性存储”理念的新型存储产品:1 IFA智能弹性架构服务器随着互联网的第二次热潮,中国信息化进程的不断深入,经济环境日益活跃,服务器市场也经历了一场深刻的变化,主要体现在服务器应用的成长性,服务器应用的普及性以及信息化建设的关键性等方面。
服务器应用选型-教你1分钟内选对合适服务器
服务器应用选型-教你1分钟内选对合适服务器在当今数字化时代,服务器在各个行业的应用上发挥着至关重要的作用。
然而,对于非专业人士来说,选择适合的服务器应用可能是一项具有挑战性的任务。
本文将向您介绍如何在短时间内准确地选择合适的服务器应用,以满足您的需求。
首先,我们需要明确服务器应用的种类和用途。
常见的服务器应用包括网站托管、数据库管理、文件存储、应用程序托管等。
每种应用都对服务器的要求有所不同。
因此,在选择服务器应用之前,您需要明确您的需求是什么,以便为后续选型提供指导。
接下来,我们需要考虑服务器的硬件配置。
硬件配置是服务器性能的关键因素之一。
通常,服务器的硬件配置包括处理器、内存、硬盘空间和网络带宽。
如果您需要运行计算密集型应用程序或处理大量数据,那么选择一台具有较高处理器性能和大内存容量的服务器将是明智的选择。
而如果您只是需要进行简单的数据存储和共享,那么硬盘空间和网络带宽可能更为重要。
此外,您还需要考虑服务器应用的操作系统。
常见的服务器操作系统包括Windows Server、Linux和Unix等。
选择适合您需求的操作系统可以提高服务器的稳定性和安全性。
如果您对操作系统不了解,建议咨询专业人士或寻求技术支持。
除了硬件配置和操作系统外,您还需要考虑服务器应用的可扩展性和可靠性。
可扩展性是指服务器在面对不断增长的负载时能否保持稳定性能。
如果您的业务需求在未来可能会扩大,那么选择支持横向扩展的服务器将更具优势。
可靠性是指服务器在面对故障时能否维持连续运行。
为了保证业务的连续性,我们建议选择具备冗余备份和容错机制的服务器。
最后,您还需要考虑服务器的成本效益。
服务器的成本不仅包括硬件设备的购买成本,还包括维护、能耗和空间等方面的开支。
因此,在选择服务器应用时,除了考虑性能和功能需求外,还需要综合考虑各个方面的成本。
有时候,选择一台稍低性能但价格更为实惠的服务器也是一种明智的选择。
综上所述,选择合适的服务器应用并不是一项简单的任务。
java 技术选型原则
java 技术选型原则
在Java技术选型时,应该遵循以下原则:
1. 明确需求:首先需要明确应用程序的需求,包括性能要求、功能需求、安全性需求等。
根据需求来确定所需的技术和工具。
2. 考虑技术成熟度和稳定性:选择经过广泛使用和验证的技术和工具,以确保应用程序的稳定性和可靠性。
避免使用过于新潮或者未经广泛验证的技术。
3. 考虑技术生态:选择有活跃社区和技术支持的技术和工具,以便在遇到问题时能够获得帮助和解决方案。
4. 考虑性能:根据应用程序的性能要求,选择能够满足性能要求的技术和工具。
例如,如果需要处理大量数据,可以选择使用具有高效数据处理的框架或库。
5. 考虑可扩展性和可维护性:选择易于扩展和维护的技术和工具,以便随着业务的发展和变化,应用程序能够灵活地适应和升级。
6. 考虑安全性:选择具备安全功能和技术特性的技术和工具,以确保应用程序的安全性。
7. 考虑成本:在满足需求的前提下,选择成本效益较高的技术和工具,避免过度复杂或者昂贵的解决方案。
8. 综合考虑:在技术选型时,需要综合考虑以上因素,权衡利弊,选择最适合当前需求和未来发展的技术和工具。
同时,也要注意避免过度技术栈的堆砌,保持技术的简洁性和可维护性。
高性能服务器选型指南
高性能服务器选型指南在选择高性能服务器时,需要考虑以下关键因素:1.处理器性能:为了保证快速稳定的处理大量访问请求,需要选择高性能的多核心处理器。
2.内存容量:大容量内存可以保证多个用户同时访问网站并处理高并发的请求。
3.硬盘性能:选择高吞吐量和容量的硬盘,以保证网站内容的持续更新和存储。
4.网络接口:选择具有高速网络接口的服务器,以更好地满足网络流量的需求。
5.操作系统和数据库:选择稳定可靠的操作系统的同时,还需要选择高可靠的数据库。
6.安全性:考虑服务器的安全性和兼容性,包括防火墙、网络安全软件等。
7.可扩展性:选择具有可扩展性的服务器,以便在未来能够满足更高的需求。
8.价格与性价比:在满足性能和功能需求的同时,选择具有高性价比的服务器。
具体来说,如果以企业网站为例,以下是选型指南:1.选择具有高性能多核心处理器的服务器,如采用第3代英特尔至强可扩展处理器的企业级服务器。
2.选择具有大容量内存的服务器,如RDIMM DDR4 3200高频内存,以处理大量用户请求。
3.选择具有高吞吐量和容量硬盘的服务器,如具有百次读写、万次转速和万兆吞吐量的企业级磁盘,以保证网站内容的持续更新和存储。
4.选择具有高速网络接口的服务器,如千兆网卡,以提供更快的网络连接速度。
5.选择具有高稳定性的操作系统的服务器,如Windows或Linux,同时还需要选择高可靠的数据库,如Oracle或MySQL。
6.选择具有高安全性的服务器,配备完善的防火墙、网络安全软件等保障网络安全的设备,以免被黑客攻击和网络数据泄露等重大安全问题。
7.选择具有可扩展性的服务器机箱,以便后期硬件的平稳升级。
8.选择具有高性价比的品牌和型号的服务器,以保证将成本有效的进行控制。
例如DELL PowerEdge R750 机架式服务器等。
以上是关于高性能服务器选型的建议,需要根据实际应用场景进行选择。
服务器选型
服务器选型一、服务器选购策略选择一款合适的服务器来满足用户的需要,需要对服务器使用有一个正确的理解。
在进行服务器选配时,应根据以下3个方面来考虑。
1.网络环境及应用软件是指整个系统主要做什么应用。
具体来说就是服务器支持的用户数量、用户类型、处理的数据量等方面内容。
不同的应用软件工作机理不同,对服务器选配的要求区别很大,常见的应用可以分为文件服务、Web服务、一般应用和数据库等。
2.可用性服务器是整个网络的核心,不但在性能上能够满足网络应用需求,而且还要具有不间断地向网络客户提供服务的能力。
实际上,服务器的可靠运行是整个系统稳定发挥功能的基础。
3.服务器选配服务器类型,如低端、中端和高端的分类,只是确定了服务器所能支持的最大用户数。
但要用好服务器,还需要优化配置,用最小的代价获得最佳的性能。
二、常见应用分析在中小企业环境中,常见应用可以概括为以下几种,它们对服务器的要求各有所侧重。
下面为了描述方便,把服务器划分为4个功能模块,即CPU、内存、磁盘子系统和网络子系统。
1.文件服务这是最基本的应用服务,服务器相当于一个信息系统的大仓库,保证用户和服务器磁盘子系统之间快速传递数据。
在服务器的各个子系统中,对系统性能影响最大的首先是网络子系统,其次是磁盘子系统,再次是内存容量,而对CPU的要求一般不高。
2.数据库服务对系统各方面(除网络子系统外)性能要求最高的应用,如财务、库存和人事管理应用等。
需要高性能CPU和快速的磁盘子系统来满足大量的随机I/O请求及数据传送。
服务器瓶颈依次为:内存、磁盘子系统和CPU。
3.邮件服务扮演电子邮件路由器和仓库的角色。
服务器瓶颈依次为:网络子系统、内存、磁盘子系统和CPU。
4.Web服务服务器的性能是由网站内容来决定的。
如果Web站点是静态的,系统瓶颈依次是:网络子系统和内存。
如果Web服务器主要进行密集计算(例如动态产生Web 页),系统瓶颈依次是:内存、CPU、磁盘子系统和网络子系统。
JavaWeb开发框架对比分析
JavaWeb开发框架对比分析随着互联网的迅猛发展,Web应用程序的需求也日益增加。
为了提高开发效率、降低工作量,各种开发框架应运而生。
本文将对几种常见的JavaWeb开发框架进行对比分析,以帮助开发者选择适合自己项目的框架。
一、Struts2框架Struts2是一个基于MVC模式的开发框架,其核心功能是对请求进行分发和处理。
它采用了拦截器的机制,并通过配置文件将请求映射到相应的处理方法上。
Struts2具有良好的可扩展性和灵活性,并且提供了丰富的标签库和插件,可满足不同开发需求。
然而,Struts2在性能方面稍逊于其他框架,并且配置复杂度较高。
二、Spring MVC框架Spring MVC是Spring框架的一部分,它建立在Servlet API之上,通过使用控制器、模型和视图来实现MVC模式。
Spring MVC具有简单易用、轻量级的特点,是许多企业级应用的首选框架。
它提供了丰富的注解和标签支持,使得开发者可以更加便捷地进行开发工作。
但是,Spring MVC对于初学者来说可能会有一定的学习曲线。
三、JSF框架JSF(JavaServer Faces)是一个标准的JavaWeb用户界面框架,由Oracle主导开发。
它提供了一套可重用的用户界面组件,并支持自定义组件的开发。
JSF具有良好的生命周期管理、事件处理和表单验证机制,能够帮助开发人员快速构建功能强大的Web应用程序。
但是,由于其较高的复杂性和较长的学习曲线,对于初学者来说可能不太友好。
四、Play框架Play框架是一款基于Java和Scala的轻量级Web开发框架,具有高度的开发效率和灵活性。
它采用了响应式编程的思想,通过模型-视图-控制器(MVC)的架构实现了高度的解耦和可测试性。
Play框架支持热部署、自动重载和自动化测试等特性,能够极大地提高开发效率。
然而,由于其较新的理念和相对较小的社区规模,学习资料和插件支持相对较少。
五、总结综上所述,每个JavaWeb开发框架都有其独特的优势和适用场景。
服务器选型方案
3.系统优化:对服务器系统进行优化,提高性能和稳定性。
4.安全防护:部署安全防护措施,确保服务器安全。
5.运维管理:建立完善的运维管理体系,确保服务器稳定运行。
六、总结
本方案根据用户需求,遵循合法合规的原则,从服务器类型、配置、安全防护和数据备份等方面进行了全面规划。通过实施本方案,将为企业提供高性能、高可靠性和高安全性的服务器系统,助力企业信息化建设。
-数据存储:服务器需提供足够的存储空间,满足长期数据存储的需求。
2.技术需求
-可靠性:服务器需具备冗余电源和散热系统,确保长时间稳定运行。
-安全性:服务器需具备多层次的安全防护措施,防范外部攻击和内部数据泄露。
-可管理性:服务器需支持远程管理和监控,简化运维工作。
四、选型原则
1.性能与成本平衡:在满足业务需求的前提下,选择性价比高的服务器。
-防火墙:部署硬件防火墙,实现网络层的访问控制。
-安全审计:定期进行系统安全审计,确保配置合规。
-数据加密:对敏感数据进行加密存储和传输。
4.数据保护
-备份策略:实施定期备份和灾难恢复计划,确保数据的持久性和可恢复性。
-多地冗余:建立异地数据备份中心,提高数据抗灾能力。
六、实施与验收
1.实施计划:制定详细的实施计划,包括时间表、资源配置和风险评估。
-存储:采用SSD作为系统盘,提高I/O性能;根据需求配置大容量机械硬盘或固态硬盘阵列。
-网络接口:配置高速以太网接口,支持负载均衡和冗余连接。
2.服务器软件选型
-操作系统:选择稳定且具有良好兼容性的操作系统,如Linux发行版。
-虚拟化软件:根据需求选用成熟的虚拟化技术,提高资源利用率。
服务器选型方法范文
服务器选型方法范文一、需求评估企业需求评估是服务器选型的基础。
在需求评估阶段,需要明确以下几个方面的需求:1.业务特点:对于存储型业务、计算型业务还是混合型业务,对服务器的要求有所不同。
2.用户规模和访问量:用户规模和访问量大的企业需要选择性能更强、扩展性更好的服务器,以满足高并发访问需求。
3.数据安全要求:对于涉及到敏感数据的企业来说,需要选用具有更高安全性和可靠性的服务器。
4.预算限制:企业需要根据实际情况确定服务器选购的预算范围。
二、硬件选型在需求评估的基础上,根据企业的业务需求选择合适的硬件配置。
主要包括处理器、内存、存储和网络等方面的选型:1.处理器:选择服务器的核心在于处理器的选择。
需要根据业务负载的轻重来选择不同核心数、主频和架构的处理器。
2.内存:内存的大小会影响服务器的性能,需要根据业务负载和用户数量来确定内存容量。
3.存储:存储介质的选择包括硬盘和固态硬盘,根据业务的读写速度和容量需求选择适合的存储介质。
4.网络:根据企业的网络带宽需求选择服务器的网口和网络传输技术。
三、性能评估性能评估是选择服务器的关键环节,需要选取适当的性能测试工具对服务器的性能进行评估。
1.CPU性能评估:通过对处理器的性能进行压测,测试服务器在不同负载下的处理能力和响应时间。
2.内存性能评估:通过对内存的读写速度测试和对内存的并发访问测试,评估服务器的内存性能。
3.存储性能评估:通过对硬盘和固态硬盘的读写速度测试和测试不同并发访问下的存储性能,评估服务器的存储性能。
4.网络性能评估:通过对网络带宽和传输速度的测试,评估服务器的网络性能。
四、性价比评估在满足需求的前提下,选择性价比更高的服务器是明智之举。
性价比的评估主要包括以下几个方面:1.性能与价格比较:通过对不同配置服务器的性能和价格进行综合比较,选择性能较高且价格相对合理的服务器。
2.维护成本评估:在选择服务器时需要考虑维护成本,包括维护人员的培训成本和硬件的年均折旧成本等。
如何选择适合自己项目的服务器架构
如何选择适合自己项目的服务器架构在选择适合自己项目的服务器架构时,需要考虑多个方面的因素,包括项目的规模、预期的流量、数据处理需求、安全性要求等。
一个合适的服务器架构可以提高项目的稳定性、性能和安全性,同时也能够更好地支持项目的发展和扩展。
下面将从几个关键的角度来介绍如何选择适合自己项目的服务器架构。
首先,需要考虑项目的规模和预期流量。
对于小型项目或者刚刚启动的项目,可以选择使用共享主机或者虚拟主机来托管网站。
这种方式成本较低,适合流量较小的项目。
而对于中型或大型项目,特别是有较大流量需求的项目,建议选择使用独立服务器或者云服务器。
独立服务器性能更高,适合对性能要求较高的项目;而云服务器则具有弹性扩展的特点,可以根据实际需求随时调整配置,适合流量波动较大的项目。
其次,需要考虑数据处理需求。
如果项目需要处理大量的数据,比如视频、图片等大型文件,需要选择具有较大存储空间和高带宽的服务器。
此外,如果项目需要进行复杂的数据处理或者有较高的并发访问量,需要选择具有较高计算能力和内存的服务器,以保证项目的稳定性和性能。
再次,安全性是选择服务器架构时需要重点考虑的因素之一。
对于涉及用户隐私数据或者交易数据的项目,安全性至关重要。
建议选择具有安全防护功能的服务器,比如防火墙、DDoS防护等,以保护项目数据的安全。
此外,定期对服务器进行安全检查和漏洞修复也是确保项目安全的重要措施。
此外,还需要考虑服务器的地理位置和网络质量。
选择距离用户较近的服务器可以减少访问延迟,提高网站的访问速度。
同时,需要选择网络质量较好的服务器提供商,以保证项目的稳定性和可靠性。
综上所述,选择适合自己项目的服务器架构需要综合考虑项目规模、流量、数据处理需求、安全性和网络质量等因素。
只有根据实际需求选择合适的服务器架构,才能更好地支持项目的发展和运营。
希望以上内容对您选择适合自己项目的服务器架构有所帮助。
企业级Web应用服务器选型指南
企业级Web应用服务器选型指南随着Web技术的日益成熟,越来越多的企业将自己的应用程序转移到Web平台上进行开发和运营,这种趋势也催生了大量的企业级Web应用服务器。
选择适合自己业务需求的Web应用服务器是至关重要的一步,本文将就企业级Web应用服务器的选型指南作一点简要介绍。
一、性能和扩展性性能和扩展性是企业级Web应用服务器最重要的两个方面。
性能需要足够高,应用程序可以稳定地处理大量的并发请求,同时又能保证低延迟。
扩展性则是指系统可以迅速处理新用户的请求,同时还能在多个服务器之间分发负载,并且在出现故障时自动切换到备份服务器。
因此,企业级Web应用服务器的选型,需要选取支持高并发的多线程模型,以及一个有效的负载均衡器。
为此,开源的Web服务器Nginx,Apache网站服务器和Java服务器Tomcat非常值得考虑。
Nginx、Apache和Tomcat都是开源软件,它们有广泛的支持和更强的可扩展性。
Nginx同时是一个高速的反向代理,它可以整合各种应用服务器,并提供高并发的服务。
Tomcat是Java应用服务器,它可以通过Java企业级规范进行扩展,可以支持复杂的业务逻辑和可重用性。
而Apache则被广泛用于Web服务器和应用服务器中,同时也可以被用于构建“大型分布式系统”。
二、安全性高安全性一直是在线服务领域的重要问题,它涉及到大量的数据安全和用户隐私。
企业级Web应用服务器的选型中,安全性是一个不得不考虑的因素。
在此方面,Apache和Nginx都能为企业提供高水平的安全性。
此外,Apache可以通过ModSecurity等开源的安全防火墙来提高其安全性。
Nginx也可以通过其在线商店提供的额外的安全模块来提高其安全性。
三、易用性除了性能、可扩展性和安全性之外,企业级Web应用服务器的选型还需要考虑其易用性。
易用性是指系统必须易于管理、配置和部署。
目前,Tomcat是Java应用程序开发的市场标准,它以其简单的部署和管理而著名。
Web服务框架选型与二次开发最佳实践
Web服务框架选型与二次开发最佳实践Web服务框架是现代开发中不可或缺的组件,它为开发者提供了一种有效的方式来构建和管理Web应用程序。
在选择合适的Web服务框架时,开发团队需要综合考虑众多因素,例如框架的功能性、易用性、性能表现以及社区支持程度等。
本文将对Web服务框架的选择与二次开发的最佳实践进行探讨,并给出一些建议供开发者参考。
一、Web服务框架的选择1. 功能性:在选择Web服务框架时,需确保其能满足项目需求的基本功能,并具备一定的灵活扩展性。
常见的功能包括路由解析、请求处理、数据库访问、授权验证等。
2. 易用性:选择易用的框架可以提高开发效率,并降低学习成本。
框架应该提供简洁的API接口和清晰的文档,以便开发者能够快速上手并参与开发。
3. 性能表现:高性能的Web服务框架可以提供更好的用户体验,特别是在高并发访问的场景下。
开发者可以参考框架的基准测试结果、优化策略和实际使用案例,来评估其性能表现。
4. 社区支持:活跃且热情的开源社区对于Web服务框架的长期发展至关重要。
开发者可以通过查看社区的人气、问题回答速度以及版本发布频率等指标,来评估应选框架的社区支持程度。
二、Web服务框架二次开发的最佳实践1. 模块化设计:将Web服务框架的功能进行模块划分,并使用合理的接口和依赖关系进行组织。
模块化的设计有助于降低代码耦合度,提高代码可读性和可维护性。
2. 安全性考虑:在二次开发过程中,充分考虑系统的安全性。
采用安全的数据交换机制(如HTTPS)、合理限制用户权限、防范常见的安全攻击(如跨站脚本攻击、SQL注入攻击)等,保障服务的可信性。
3. 性能优化:合理利用Web服务框架的缓存、异步处理机制等特性,对系统进行性能优化。
优化策略包括减少网络传输、使用高效的算法和数据结构、避免重复计算等。
4. 单元测试:编写单元测试用例可有效发现代码问题,并确保Web 服务框架在二次开发过程中的稳定性。
开发者可以使用测试框架和覆盖率工具来提高测试效果。
大型Java Web系统服务器选型问题探讨
大型Java Web系统服务器选型问题探讨收藏一位网友在JavaEye询问了一个大型Web系统的架构和部署选型问题,希望能提高现有的基于Java的Web 应用的服务能力。
由于架构模式和部署调优一直是Java社区的热门话题,这个问题引发了很多热心网友的讨论,其中一些意见对其它大型Web项目也有很好的指导意义。
当前的应用的架构和部署方案:目前系统架构如下:web层采用struts+tomcat实现,整个系统采用20多台web服务器,其负载均衡采用硬件F5来实现;中间层采用无状态会话Bean+DAO+helper类来实现,共3台weblogic服务器,部署有多个EJB,其负载均衡也采用F5来实现;数据库层的操作是自己写的通用类实现的,两台ORACLE数据库服务器,分别存放用户信息和业务数据;一台SQL SERVER数据库,是第三方的业务数据信息;web层调用EJB远程接口来访问中间件层。
web层首先通过一个XML配置文件中配置的EJB接口信息来调用相应的EJB远程接口;该系统中一次操作涉及到两个ORACLE库以及一个SQL SERVER库的访问和操作,即有三个数据库连接,在一个事务中完成。
这样的架构其实很多公司都在使用,因为Struts和Tomcat分别是最流行的Java Web MVC框架和Servlet 容器,而F5公司的负载均衡是横向扩展常见的解决方案(例如配置session sticky方案)。
由于这个系统中有跨数据源的事务,所以使用Weblogic Server EJB容器和支持两阶段提交的数据库驱动就可以保证跨数据源的事物完整性(当然,容器管理的分布式事务并非是唯一和最优的解决方案)。
但是随着Rod Johnson重量级的著作《J2EE Development without EJB》和其中的Spring框架的流行,轻量级框架和轻量级容器的概念已经深入人心。
所以对于jackson1225提出的这个场景,大多数网友都提出了置疑,认为这个系统滥用了技术,完全是在浪费钱。
服务器架构设计如何选择适合自己业务的服务器方案
服务器架构设计如何选择适合自己业务的服务器方案在选择适合自己业务的服务器方案时,服务器架构设计是至关重要的一环。
一个合理的服务器架构设计可以提高系统的稳定性、性能和安全性,从而更好地支撑业务的发展。
下面将从硬件选型、网络架构、存储方案和安全性等方面介绍如何选择适合自己业务的服务器方案。
一、硬件选型在选择服务器硬件时,首先需要考虑业务的规模和需求。
如果业务规模较小,可以选择单台服务器来承担所有的工作;如果业务规模较大,可以考虑使用集群或分布式架构来提高系统的扩展性和容错性。
在硬件选型上,需要考虑以下几个方面:1. CPU:根据业务的计算需求选择合适的CPU型号和核心数,确保服务器有足够的计算能力来处理业务请求。
2. 内存:根据业务的内存需求选择合适的内存容量和类型,确保服务器能够高效地运行业务应用程序。
3. 硬盘:根据业务的存储需求选择合适的硬盘类型和容量,可以选择SSD硬盘来提高系统的IO性能。
4. 网卡:根据业务的网络需求选择合适的网卡型号和速率,确保服务器能够稳定地与外部网络通信。
二、网络架构在设计服务器架构时,网络架构是至关重要的一环。
一个合理的网络架构可以提高系统的稳定性和性能,从而更好地支撑业务的发展。
在网络架构设计上,需要考虑以下几个方面:1. 内网架构:设计内网架构时,可以考虑使用VPC(Virtual Private Cloud)来隔离不同业务的网络流量,确保数据的安全性和隔离性。
2. 外网架构:设计外网架构时,可以考虑使用CDN(Content Delivery Network)来加速网站的访问速度,提高用户体验。
3. 防火墙:在网络架构中加入防火墙可以有效地防止恶意攻击和非法访问,提高系统的安全性。
三、存储方案在选择存储方案时,需要根据业务的存储需求和数据访问模式来选择合适的存储方案。
常见的存储方案包括:1. 分布式存储:可以考虑使用分布式存储系统来提高系统的可靠性和扩展性,确保数据的安全性和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大型Java Web系统服务器选型问题探讨收藏一位网友在JavaEye询问了一个大型Web系统的架构和部署选型问题,希望能提高现有的基于Java的Web 应用的服务能力。
由于架构模式和部署调优一直是Java社区的热门话题,这个问题引发了很多热心网友的讨论,其中一些意见对其它大型Web项目也有很好的指导意义。
当前的应用的架构和部署方案:目前系统架构如下:web层采用struts+tomcat实现,整个系统采用20多台web服务器,其负载均衡采用硬件F5来实现;中间层采用无状态会话Bean+DAO+helper类来实现,共3台weblogic服务器,部署有多个EJB,其负载均衡也采用F5来实现;数据库层的操作是自己写的通用类实现的,两台ORACLE数据库服务器,分别存放用户信息和业务数据;一台SQL SERVER数据库,是第三方的业务数据信息;web层调用EJB远程接口来访问中间件层。
web层首先通过一个XML配置文件中配置的EJB接口信息来调用相应的EJB远程接口;该系统中一次操作涉及到两个ORACLE库以及一个SQL SERVER库的访问和操作,即有三个数据库连接,在一个事务中完成。
这样的架构其实很多公司都在使用,因为Struts和Tomcat分别是最流行的Java Web MVC框架和Servlet 容器,而F5公司的负载均衡是横向扩展常见的解决方案(例如配置session sticky方案)。
由于这个系统中有跨数据源的事务,所以使用Weblogic Server EJB容器和支持两阶段提交的数据库驱动就可以保证跨数据源的事物完整性(当然,容器管理的分布式事务并非是唯一和最优的解决方案)。
但是随着Rod Johnson重量级的著作《J2EE Development without EJB》和其中的Spring框架的流行,轻量级框架和轻量级容器的概念已经深入人心。
所以对于jackson1225提出的这个场景,大多数网友都提出了置疑,认为这个系统滥用了技术,完全是在浪费钱。
网友们大都认为SLSB(无状态会话Bean)完全没有必要出现在这个场景中,认为SLSB通过远程接口访问本地资源会有很大的性能开销,这种观点也是Rod johnson在without EJB中批判EJB 2.x中的一大反模式。
由于JavaEE是一个以模式见长的解决方案,模式和架构在JavaEE中占有很重要的地位,所以很多业内专家也都警惕“反模式(Anti-patterns)”的出现。
对于上面所述的方案是否是反模式,jackson1225马上站出来申辩:我们项目就是把EJB作为一个Facade,只是提供给WEB层调用的远程接口,而且只用了无状态会话Bean,所以性能上还可以的。
这个解释很快得到了一些网友的认可,但是大家很快意识到架构的好坏决定于是否能够满足用户的需求,davexin(可能是jackson1225的同事)描述了这个系统的用户和并发情况:现在有用户4000万,马上要和另一个公司的会员系统合并,加起来一共有9000万用户。
数据量单表中有一亿条以上的数据。
这是基本的情况,其实我觉得现在的架构还是可以的,现在支持的并发大概5000并发用户左右,接下来会进行系统改造,目标支持1万个并发用户。
具体的并发量公布后又有网友置疑这个数据,认为这个系统的Servlet容器支持的并发数太小,怀疑是否配置不够优化。
davexin又补充了该项目的服务器配置:系统前端tomcat都是用的刀片,配置在2G内存,cpu大概在2.0G,每台机器也就支持250-400个并发,再多的话,就会相应时间非常的常,超过20秒,失去了意义,所以我们才得出这样的结论的。
一位ID是cauherk的网友提出了比较中肯的意见,他没有从Web容器单纯的并发支持能力上提出改进方案,而是提出了对于类似的应用的一些通用的改进提示,这里摘要一下:数据库压力问题可以按照业务、区域等等特性对数据库进行配置,可以考虑分库、使用rac、分区、分表等等策略,确保数据库能正常的进行交易。
事务问题要在两个数据库中操作,那么必须考虑到分布式事务。
你应该仔细的设计你的系统,来避免使用分布式事务,以避免分布式事务带来更多的数据库压力和其它问题。
推荐你采用延迟提交的策略(并不保证数据的完整),来避免分布式事务的问题,毕竟commit失败的几率很低。
web的优化将静态、图片独立使用不同的服务器,对于常态的静态文件,采用E-TAG或者客户端缓存,google很多就是这样干的。
对于热点的功能,考虑使用完全装载到内存,保证绝对的响应速度,对于需要频繁访问的热点数据,采用集中缓存(多个可以采用负载均衡),减轻数据库的压力。
对于几乎除二进制文件,都应该在L4上配置基于硬件的压缩方案,减少网络的流量。
提高用户使用的感知。
网络问题可以考虑采用镜像、多路网络接入、基于DNS的负载均衡。
如果有足够的投资,可以采用CDN(内容分发网),减轻你的服务器压力。
cauherk的这个分析比较到位,其中ETags的方案是最近的一个热点,InfoQ的“使用ETags减少Web应用带宽和负载”里面对这种方案有很详细的介绍。
一般以数据库为中心的Web应用的性能瓶颈都在数据库上,所以cauherk把数据库和事务问题放到了前两位来讨论。
但是davexin解释在所讨论的这个项目中数据库并非瓶颈:我们的压力不在数据库层,在web层和F5。
当高峰的时候,F5也被点死了,就是每秒点击超过30万,web动态部分根本承受不了。
根据我们程序记录,20台web最多承受5000个并发,如果再多,tomcat就不响应了。
就像死了一样。
这个回复让接下来的讨论都集中于Web容器的性能优化,但是JavaEye站长robbin发表了自己的意见,将话题引回了这个项目的架构本身:performance tuning最重要的就是定位瓶颈在哪里,以及瓶颈是怎么产生的。
我的推测是瓶颈还是出在EJB远程方法调用上!tomcat上面的java应用要通过EJB远程方法调用,来访问weblogic上面的无状态SessionBean,这样的远程方法调用一般都在100ms~500ms级别,或者更多。
而如果没有远程方法调用,即使大量采用spring的动态反射,一次完整的web请求处理在本地JVM内部的完成时间一般也不过20ms而已。
一次web请求需要过长的执行时间,就会导致servlet线程被占用更多的时间,从而无法及时响应更多的后续请求。
如果这个推测是成立的话,那么我的建议就是既然你没有用到分布式事务,那么就干脆去掉EJB。
weblogic 也可以全部撤掉,业务层使用spring取代EJB,不要搞分布式架构,在每个tomcat实例上面部署一个完整的分层结构。
另外在高并发情况下,apache处理静态资源也很耗内存和CPU,可以考虑用轻量级web server如lighttpd/litespeed/nginx取代之。
robbin的推断得到了网友们的支持,davexin也认同robbin的看法,但是他解释说公司认为放弃SLSB存在风险,所以公司倾向于通过将Tomcat替换为Weblogic Server 10来提升系统的用户支撑能力。
robbin则马上批评了这种做法:坦白说我还从来没有听说过大规模互联网应用使用EJB的先例。
为什么大规模互联网应用不能用EJB,其实就是因为EJB性能太差,用了EJB几乎必然出现性能障碍。
web容器的性能说到底无非就是Servlet线程调度能力而已,Tomcat不像WebLogic那样附加n多管理功能,跑得快很正常。
对比测试一下WebLogic的数据库连接池和C3P0连接池的性能也会发现类似的结论,C3P0可要比WebLogic的连接池快好几倍了。
这不是说WebLogic性能不好,只不过weblogic要实现更多的功能,所以在单一的速度方面就会牺牲很多东西。
以我的经验来判断,使用tomcat5.5以上的版本,配置apr支持,进行必要的tuning,使用BEA JRockit JVM 的话,在你们目前的刀片上面,支撑500个并发完全是可以做到的。
结合你们目前20个刀片的硬件,那么达到1万并发是没问题的。
当然这样做的前提是必须扔掉EJB,并置web层和业务层在同一个JVM内部。
接下来robbin还针对davexin对话题中的应用分别在tomcat和weblogic上的测试数据进行了分析:引用:2。
1台weblogic10 Express(相当于1台tomcat,用于发布jsp应用)加1台weblogic10(发布ejb应用),能支持1000个并发用户............4。
1台tomcat4.1加1台weblogic8,只能支持350个并发用户,tomcat就连结超时,说明此种结构瓶颈在tomcat。
这说明瓶颈还不在EJB远程调用上,但是问题已经逐渐清楚了。
为什么weblogic充当web容器发起远程EJB调用的时候可以支撑1000个并发,但是tomcat只能到350个?只有两个可能的原因:你的tomcat没有配置好,严重影响了性能表现tomcat和weblogic之间的接口出了问题接着springside项目发起者江南白衣也提出了一个总体的优化指导:1.基础配置优化tomcat 6?tomcat参数调优?JRockit JVM? JVM参数调优?Apache+Squid 处理静态内容?2.业务层优化部分功能本地化,而不调remote session bean?异步提交操作,JMS?cache热点数据?3.展示层优化动态页面发布为静态页面?Cache部分动态页面内容?davexin在调整了Tomcat配置后应验了robbin对tomcat配置问题的质疑,davexin这样描述经过配置优化以后的测试结果:经过测试,并发人数是可以达到像robbin所说的一样,能够在600人左右,如果压到并发700人,就有15%左右的失败,虽然在调整上面参数之后,并发人数上去了,但是在同样的时间内所完成的事务数量下降了10%左右,并且响应时间延迟了1秒左右,但从整体上来说,牺牲一点事务吞吐量和响应时间,并发人数能够提高500,觉得还是值得的。
至此这个话题有了一个比较好的结果。
这个话题并非完全针对一个具体的项目才有意义,更重要的是在分析和讨论问题的过程中网友们解决问题的思路,尤其是cauherk、robbin、江南白衣等几位网友提出的意见可以让广大Java Web项目开发者了解到中、大型项目所需要考虑的架构和部署所需要考虑的关键问题,也消除了很多人对轻量Servlet容器与EJB容器性能的一些误解。
本文来自CSDN博客,转载请标明出处:/zzr173/archive/2008/09/14/2834459.aspx。