现将关于门户网站性能优化总结如下:
一、软件架构方面
 
1、多客户端架构设计
 
采用EJB业务层 + Strtus2 (view层)+ Hibernate(持久层) 该架构可以满足不同的客户端进行访问。具有良好的可扩展性。缺点:分层比较多,开
 
发周期长,适合大型门户或者系统平台。
 
2、采用SSH架构设计
 
该架构分层相对较少,能快速开发
 
二、性能优化
 
1、页面静态化   (采用技术velocity模版,freemarker等)
 
该方案可以避免用户频繁的访问数据库,从而使系统负载过高降低性能。对于门户网站来讲,每天的日访问量大约都在10万人次以上,如果首页不静
 
态化,采用jsp动态技术,用户需要等待时间过长,从而失去可访问量,使网站得不到较好的宣传,严重者可以使后台系统崩溃。
 
2、缓存技术 (分为:页面缓存、二级缓存)
 
a、页面缓存   该方案可以降低用户操作频繁访问数据库,使数据库内容缓存至客户端,提高了系统的整体性能。缺点:不能做到信息的实时更新,
 
但是,可以通过客户端清除缓存来解决。
 
b、二级缓存  该方案与页面缓存都可以降低用户操作频繁访问数据库,并能够做到实时更新,但是性能相对页面缓存较低。
 
3、SSI 服务端包含技术 
 
该方案如果在Apache web服务器上性能优良,很好的提高了系统整体性能;如果在tomcat上效果不是很明显。
 
4、搜索优化
 
在用户前端搜索功能上,我们通常有两套方案:利用sql   like进行模糊查询;利用lucene API 来实现。在考虑到系统整体性能的因素上,我建议采用后
 
者。原因总结如下:如果采用sql模糊查询,查询出来结果的相关度匹配不高;如果数据库表的记录比较多,查询字段比较多的情况,sql模糊查询效
 
率会很慢!sql模糊查询不支持关键词分解以及关键词高亮显示。如果采用lucene搜索,可以实现以上需求。
 
5、硬件方面
 
应该采用服务器集群技术提高系统高并发性、高可用性,采用磁盘阵列提高系统整体性能。硬件方面要根据实际情况来定,如果在经济条件不允许
 
的情况下,也可以通过软件方面来实现。Apache + tomcat + jk_mod + mysql 方案也可以实现,但是其效果肯定没有硬件好,呵呵。。。
 
关于软件方面解决集群,我这里就不再详述,因为这方面的知识网站上很多。
 
三、编者总结
 
以上是本人经过5年工作经验之总结,希望能对好友提供帮助,与此同时,也希望能与同行进行讨论与交流!