大型Java Web系统服务器选型问题探讨(2)
来源:asp之家 发布时间:2010-05-02 18:28:00
对于上面所述的方案是否是反模式,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解释在所讨论的这个项目中数据库并非瓶颈:


猜你喜欢
- 前端开发常见的安全问题就是会遭受 XSS 注入攻击,这里列举常见的代码注入方式。Javascript 代码注入Javascript 代码注入
- 首先在这里先要鄙视一下那些所谓的黑客,基本上都是一群只会拾人牙慧的垃圾,高手发布了一些教程漏洞,然后找几个软件按图索骥黑了几个网站就把自己封
- 前几天分享了新手建站十大免费空间,看那篇文章的朋友基本上都是从免费空间中走出来了,十个免费空间至少有七、八个是曾经用过的。但是自从花钱购买了
- 老白站长有感而发:“在采集过程中完成,丝毫不影响采集速度,经过这样修改的文章可以把文章内容20%-30%的部分都变成其他内容,但不会把文章内
- 下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。或许这个实例没有实际运用的价值,但是稍微改动一下,我们
- shell中如何判断一个变量是否为空shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下:
- 本文所说的转移只是注册商之间转移,并非gd站内PUSH,请勿对号。域名转入godaddy:注:按照ICANN规定,域名转入新的注册商,需要在
- 距北京奥运会开幕不到一个月,奥运比赛的绝大部分赛程均已敲定。16天跌宕起伏的赛事充满了令人眼花缭乱的看点,为了方便读者找到每天比赛的重点,我
- “此次增发融资来自于新浪管理层和三家私募投资公司,从此新浪成为管理层的新浪。”问鼎新浪实际控制人的管
- 曾经有一个网站,拥有高质量的流量,每天Google AdSense收入却不高,后来经Google AdSense小组帮助优化广告之后,每天G
- D.配置postfix.1.主要是main.cf的配置。virtual_alias_maps=mysql:/etc/postfix/mysq
- 前几天的一篇博客是关于“为什么有的小站点(或新站点)在搜索结果中排名能靠前?”,下面又是一个很少人注意的影响SEO效果的因素:你购买域名时一
- 本文实例为大家分享了VMware虚拟机克隆的具体步骤,供大家参考,具体内容如下一、环境VMware 14克隆系统CentOS6.8二、开始克
- 有Godaddy主机用户或许还不了解ColdFusion还有ColdFusion DNS,下面给大家介绍下什么是ColdFusion? 如同
- 套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。套接字的特性有三个属性确定,它们是:
- 1.Apache Rewrite的主要功能 就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟
- 在不少人眼里,登录服务器也许是一件简单得几乎不值得一提的事情!可事实并非想象中那样简单轻松,在不同的服务器登录环境中,我们或许会遇到许多不同
- 详解Linux系统配置nginx的负载均衡负载均衡的几种方式:1.轮询:默认按照时间顺序对所有服务器一个一个的访问,如果有服务器宕机,会自动
- ubuntu(虚拟机)版本16.04 LTS添加swap用free查看swap分区大小free -m创建一个swap文件夹mkdir swa
- Linux(Ubuntu) adb 无法识别的问题一般开发公司都开发员都有同时处理不同开发板,因为项目迭代需要。但是不同的开发板的USB并不