`
peterwei
  • 浏览: 249528 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于使用sitemesh的性能评价及选择

阅读更多
关于sitemesh,不过多介绍,不知道的请google之,简单来说就是做总体页面布局和渲染用的,如页面中的header,footer等。

今天内部讨论中,有工程师谈到使用sitemesh的建议。我之前做的一个网站也是使用sitemesh,在开发效率上还算不错,可以让大家更专注于各自的模块页面。当时sitemesh性能上并没有问题。当时的性能瓶颈主要出现在过多hibernate关联数据查询上,后来缓存解决之。

另外也有同事提出反对意见:使用sitemesh对于系统性能是有较大的影响的,主要表现在GC的次数会显著增多。建议在大压力、页面内容大的系统中,慎重选择sitemesh,并且使用之前对其带来的性能影响进行一个较为合理、全面的评估。

我们当前的项目情况:开发进行到一半,正进入套美工界面阶段,所以出现以上问题场景和选择。有同事说:架构师配置之。我以前也有使用过sitemesh,引入到当前项目也是可行的。但需要一个评估和两天左右的引入工作量。还好有另外的同事反对,正好找到借口暂时不使用。我倒不是怕一两天的工作量,我是觉得在开发进行中,每引入一个新的技术或者团队不熟悉的东西,都会增加项目失败的风险,特别是前期没有很好的规划时。所以暂时只用include解决之。一来大家都熟悉,使用也简便,二来从性能上也如同事说的那样。

当然,性能也并没有同事说的那么可怕。
一来,对于页面内容大的问题,因为sitemesh是以空间换时间,web服务器加点内存就完事,现在内存超级便宜。
二来,web应用的瓶颈不在乎那点绝对性能。对于并发压力大,一个tomcat也就能支持几百并发,瓶颈在tomcat这块,页面再快也没用。解决方案一般是负载均衡和应用集群。

大家可以聊聊在web应用中,使用sitemesh的经验。当然也可以谈谈其它的方案。但是不做为其次选择的参考,因为技术风险摆在第一位,不会轻易在项目过程中引用新技术

最后附上网友做的sitemesh性能测试评价:
http://www.iteye.com/topic/715100
分享到:
评论
4 楼 key232323 2011-05-17  
一个tomcat也就能支持几百并发??

这个表示怀疑啊
3 楼 tapestry1122 2011-05-13  
sitemesh真正好用的场景还是类似面包屑风格的导航条,导航条一般的布局都会在公用头文件里,但是他的内容在不同页面里又是不一样的,这个时候使用sitemesh就好用

另外曾经在早期的jira代码里看到了sitemesh的变态应用,他们所有的form都是通过sitemesh的二次decorator来生成的.
2 楼 skypengyc 2011-05-10  
sitemesh.没听过,准备学习一下
1 楼 云中苍月 2011-05-10  
我们开发组合页面用sitemesh不多,经常使用freemark,就不做评价了。
在“大压力、页面内容大的系统中”应使用各种缓存技术可以大幅度减少逻辑处理次数,所以sitemesh即使有一些性能问题也无伤大雅。
比起Java,ruby和php等脚本语言的性能要低上不少,但基于这两种语言的高性能网站却比比皆是。系统级别的优化很多时候会比语言/框架本身带来更大的收益。

相关推荐

    SiteMesh教程及SiteMesh官方文档翻译

    ### SiteMesh教程及SiteMesh官方文档翻译 #### 使用SiteMesh简化网页布局 SiteMesh是一款用于Web应用程序中的页面布局和装饰的框架。它采用Decorator模式,通过过滤器(filter)拦截请求和响应,将不同的页面组件...

    Sitemesh 3 的使用及配置

    ### Sitemesh 3 的使用及配置 #### 一、Sitemesh 3 简介 Sitemesh 是一个非常实用的Web页面布局与修饰框架,它通过Servlet中的Filter来实现网页的装饰功能,类似于ASP.NET中的“母版页”技术。这种技术允许开发者...

    siteMesh使用示例

    如果需要对某些特定页面不应用装饰,或者只对特定部分进行装饰,可以使用 `excludes` 和 `includes` 属性在 `web.xml` 中配置 SiteMesh 过滤器。 9. **优化与性能** SiteMesh 通常对性能的影响很小,但可以通过...

    使用sitemesh替换tiles2,spring mvc+spring web flow+sitemsh

    3. **创建装饰模板**:Sitemesh 使用一个名为 `decorators` 的目录来存储装饰模板。这些模板定义了页面的通用结构,如头部、底部和侧边栏。例如,你可以创建一个 `default.jsp` 文件,其中包含你的页面布局。 4. **...

    java sitemesh 页面框架

    2. **选择装饰器**:根据请求的URL或者在代码中明确指定,Sitemesh会选择一个合适的装饰器(Decorator)模板。 3. **内容分离**:装饰器模板通常包含固定的部分,如页头、页脚、侧边栏等,而用户请求的实际内容被...

    siteMesh demo+文档

    接下来是"siteMesh使用文档"。这份文档通常会涵盖以下几个关键知识点: 1. **安装SiteMesh**:这通常包括下载SiteMesh的库文件,将其添加到你的项目构建路径中(例如,如果你使用Maven,可以在pom.xml中添加对应的...

    sitemesh的使用和例子

    ### Sitemesh使用示例 在提供的压缩包文件中,有多个HTML和JSP文件,它们可能是Sitemesh的使用示例: - **index.html**:通常作为网站的主页,可能展示了Sitemesh如何应用全局布局。 - **badsource.html**、**...

    jsp 页面框架sitemesh 全面帮助文档及示例

    3. **Sitemesh使用步骤** - **安装与导入**:下载Sitemesh库并将其加入到项目依赖中。 - **配置web.xml**:设置Sitemesh Filter,包括装饰器的配置和默认装饰器的选择。 - **创建装饰器模板**:设计HTML模板,...

    sitemesh

    **Sitemesh** 是一个广泛使用的开源Web应用框架,它主要功能是提供页面布局和装饰功能,用于统一网站的外观和感觉。Sitemesh通过在Web应用中引入“母版”(Master Page)的概念,使得开发者可以轻松地创建一致性的...

    sitemesh3官方下载包

    Sitemesh3是Sitemesh项目的第三个主要版本,提供了更现代的API和性能改进。 在Sitemesh3的官方下载包中,通常会包含以下几个关键部分: 1. **lib** 目录:这个目录包含了Sitemesh3运行所需的库文件。这些jar文件...

    sitemesh使用例子

    sitemesh 使用例子。 <?xml version="1.0" encoding="utf-8"?> <decorators defaultdir="/decorators"> <!-- 此处用来定义不需要过滤的页面 --> <excludes> </excludes> <!-- 用来定义装饰器要过滤的...

    SiteMesh教程.pdf

    通过使用SiteMesh标签库中的标签,可以在装饰器中插入实际页面的内容,实现动态的页面装饰。 ***Mesh的基本组件: - Decorator Filter:这是SiteMesh的核心组件,负责拦截请求、传递页面内容给装饰器,并将组合后的...

    sitemesh框架简单例子

    要开始使用Sitemesh,你需要在你的项目中引入Sitemesh的依赖。如果你的项目是基于Maven的,可以在pom.xml文件中添加对应的依赖项。对于其他构建工具,可以找到相应的库文件并将其添加到类路径中。 接下来,配置...

    sitemesh-2.2.1.jar sitemesh-2.2.1.jar

    - **javacpp-1.3.2.jar**:这可能是JavaCPP库的一个版本,它提供了一个接口,可以直接在Java中调用C++代码,可能会用于Sitemesh的一些底层性能优化或者特定功能实现。 **应用实例**: Sitemesh常被用于大型企业级...

    页面装饰器(sitemesh)实例源代码

    3. **创建装饰模板**:Sitemesh使用HTML文件作为装饰模板,你可以根据需求创建一个基础模板,例如`layout.html`,该模板通常包含页头、页脚、侧边栏等公共部分。 4. **设置页面内容**:对于每个需要装饰的页面,...

    sitemesh框架使用 自我整理

    公司的OA流項目視圖層都是採用sitemesh技術,感覺還可以,裝潢頁面,技術不是很複雜,頁面結構清晰,佈局明朗,很好的佈局框架。

    sitemesh3-demo

    Sitemesh3是Sitemesh的第三个主要版本,相比之前的版本,它提供了更好的性能和更现代的API。在配置和使用Sitemesh3时,开发者需要了解以下几个核心概念: 1. **装饰器(Decorator)**: 装饰器是Sitemesh的核心,它...

    sitemesh入门demo

    以下是关于Sitemesh的详细讲解: 1. **安装与配置** - 首先,你需要将Sitemesh的JAR文件添加到你的项目类路径中。这可以通过Maven或Gradle的依赖管理来实现。 - 接着,在Web应用的`web.xml`配置文件中,需要配置...

    SiteMesh

    4. **配置(Configuration)**: SiteMesh的配置文件(通常为`sitemesh.xml`)用于设置装饰策略,包括哪些URL需要被装饰,以及使用哪个装饰器等。 **使用步骤** 1. **集成SiteMesh**: 将SiteMesh的JAR文件添加到...

    sitemesh jar包机tld文件

    总结来说,"sitemesh jar包机tld文件"是SiteMesh框架在JSP页面布局中的关键组件,通过引入sitemesh-2.4.1.jar,并使用sitemesh-page.tld和sitemesh-decorator.tld定义的标签,开发者可以轻松创建和管理具有统一外观...

Global site tag (gtag.js) - Google Analytics