知识管理的长征 - 孙鹏 - Microtoby - MVP

Long march of knowledge management
随笔 - 63, 评论 - 455, 引用 - 226

导航

关于

孙鹏(Microtoby)是微软Office SharePoint Portal Server领域的最有价值专业人士(MVP)。从2002年开始接触SharePoint产品。
2005年05月在新加坡参加亚太地区MVP峰会;
2005年10月在美国西雅图参加全球MVP峰会;
2004年01月至今任职于Tencent,主要方向为知识管理。
此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论,对其完全的正确定不做任何担保或假设。所有此处的原创文章转载必须知会作者本人。如有疑问,请发邮件至:
microtoby@gmail.com


友情链接:http://www.applevb.com

标签

每月存档

最新留言

广告

 

以前我的一篇Post提到了提高Sharepoint页面访问速度的一些要点,其中包括:不破坏Page Ghosting和使用一些基本的XHTML标准。那篇PostFeedback中有人对XHTML标准的使用提到了一些质疑,当然,我也不是一个XHTML的坚决拥护者,但是尽量使页面遵守一些基本的要点对页面的访问性能必有好处。当然,除了上面两点之外,还有一些CheckList是我们应该注意的,这篇Post我们就来讨论一下提高Sharepoint站点访问速度的一些建议!

首先,还是Page Ghosting的问题。要了解什么是Page GhostingBarry Kouda发表在MSD2D的这篇《What you don't know about Front Page 2003 can hurt you》会告诉你。当初次建立好一个WSS/SPS站点之后,用户访问一个具体的页面,此时的页面内容来自两个位置,一个是Page Ghosting,它的位置是在X:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE目录下,它定义了页面的框架、样式、Web部件区域,而页面的内容则存储在数据库中。用户的请求被Sharepoint ISAPI接收到以后服务器端会从数据库中取出具体的内容,和Page Ghosting编译后的Assembly组装整个页面,然后返回HTML给客户端。整个WSS/SPS的页面都是基于Page Ghosting的(除了自己建立的Web部件页),那么页面外观框架的重用性就比较高,多个页面共享一个Page Ghosting的时候会带来不少性能方面的益处。然而Frontpage会破坏这一切(当然,有的时候他也必不可少),它会使使用它编辑过的页面部在使用Page Ghosting,而是将整个页面保存在了数据库中。在用户再次请求访问的时候,执行的工作就大不相同了,整个页面的框架和内容都需要从数据库中载入,而且不会再有重用。因此提高Sharepoint站点访问速度的第一个建议就是尽可能避免破坏Page Ghosting

第二个方面还是颇具争议的XHTML,下面的图是使用PowerBand查看的一个WSS页面的结构。

整个页面被包围在一个Table中,然后是众多Table的嵌套。浏览器对HTML的解析和显示方式我们很清楚,当一个表格没有全部下载完成之前是不会显示出任何内容的。这样的代价是等待,等待所有的页面元素全部下载完。你只能看着进度条发呆了JXHTML的所有标准确实苛刻,况且IE浏览器也并非对XHTML绝对有好,我也不再强调完全的HTML,但我喜欢拆分页面的一个Table为多个,就像Sina的结构,多个表格,让Title部分可以优先页面载入完成前显示出来,然后依次向下。用户不必再毫无指望的发呆,总有一些期盼展示给他了。

第三个建议和WebPart的开发有关了。按照需求,我需要开发一些WebPart用于显示公司内其他OA系统的数据在我们的Portal上,有人事的信息,有财务的数据,还有工作流程的审批过程。我们的数据源来自其他系统提供的友好接口或Web Services。还有,我还需要从Internet上面请求一些新闻、天气之类的HTTP回来做成WebPart来使用J。那么问题又出现了!每个WebPart就像一个UserControl,页面按照一个顺序进行Render。取回人事数据花了2秒,Web Servers花了3秒,HTTP请求可能会等待5秒甚至更慢一些,这时候,我要访问的Sharepoint页面就至少需要10秒才能打开,当然这还是比较乐观的。你知道我要说什么了,是的,异步!具备异步机制的WebPart不再会让页面的Render事件累加,而必然小于那个我们不希望的时间。Microsoft.Sharepoint.dll本身支持异步数据获取,仔细读一下《Asynchronous Data Fetching》。其实实现起来蛮简单。一个最简单的例子:

public class AsyncWebPart1 : WebPart

{

? bool m_AsyncWorkComplete = false;

? string m_Data = string.Empty;

? public override bool GetRequiresData()

{

??? return (m_AsyncWorkComplete==true);

? }

??public override void GetData()

{

??? RegisterWorkItemCallback(new WaitCallback(AsyncTask), "pass any call-specific data here");

? }

? public void AsyncTask(object state)

{

??? // call across network

??? // assign data retreive to m_Data field

??? m_ AsyncWorkComplete = true;

? }

}

另外,你还可以在Sharepoint Customization这个网站上找到一个实现的更精巧的例子Asynchronous Web Part Sample”。

还有最后一点没有被我遗忘,Cache。使用Cache保存数据和请求的外部对象。使用合理的序列化保存WebPart的用户定义参数。这一点对所有的ASP.NET应用都是有效的提速方案。

没有力气再向下写了,就算一个RC1的版本吧J,贴出来给大家砸,欢迎补充,欢迎指正。

打印 | 张贴于 2004-12-09 22:50:00 | Tag:Old

留言反馈

#回复: 提高Sharepoint站点访问速度的几点建议 编辑
2008-01-28 13:52:00 | [匿名:vvvvvvv]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
2008-01-28 13:52:00 | [匿名:vvvvvvv]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
Remember that http://www.menorcacarhire.ws/ car rental in menorca with in-terminal office is important so that you do not have to look for the missing Representatative in the meeting point. This is important because Menorca airport is one of the busiest airports in Spain during the summer and finding the rep can be really hard. Do not gamble with your Menorca car rental!
2007-10-24 20:00:00 | [匿名:Mike]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
2007-09-14 14:36:00 | [匿名:powerleveling]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
2007-08-25 16:00:00 | [匿名:fsdfsdf]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
2007-08-20 09:30:00 | [匿名:powerleveling]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
wow gold
Warcraft Gold
World of Warcraft Gold
cheap wow gold
wow power leveling
wow power leveling
wow power leveling
wow powerleveling
wow powerleveling
wow powerleveling
World Of Warcraft power leveling
World Of Warcraft power leveling
World Of Warcraft power leveling
World Of Warcraft powerleveling
World Of Warcraft powerleveling
World Of Warcraft powerleveling
wow power level
wow power level
wow power level
cheap wow power leveling
cheap wow power leveling
cheap wow powerleveling
cheap wow powerleveling
ffxi gil
Final Fantasy XI Gil
cheap ffxi gil
buy ffxi gil
buy ffxi gil
lotro gold
cheap lotro gold
lotro power leveling
lotro powerleveling
lotro power level
美服游戏交易
点卡销售
codeheart article
2007-08-17 10:06:00 | [匿名:cvbn]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
2007-08-16 13:03:00 | [匿名:zxc]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
Nice blog. Great news!
2007-06-07 00:05:00 | [匿名:香港六合彩]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
福彩双色球
2007-06-04 11:43:00 | [匿名:福彩双色球]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
福彩双色球这里是福彩研究的最佳地点
2007-06-04 11:43:00 | [匿名:福彩双色球]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
The good material, your material has stood by me is reprinting;
2007-06-04 11:42:00 | [匿名:香港六合彩]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
呵呵,收了
2007-05-30 03:30:00 | [匿名:六合彩图库]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
呵呵,收了,谢谢你.学习中。
2007-05-30 03:30:00 | [匿名:六合彩图库]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
好网站支持一下。这么好得支持下。
2007-05-24 16:44:00 | [匿名:香港六合彩]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
好网站支持一下。这么好得支持下。
2007-05-24 16:44:00 | [匿名:六合彩]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
第一主机提供域名申请、服务器租用服务。100M ASP空间120元,送企业邮箱!电信网通双线空间,南北网络畅通无阻!另外,国际域名最低59元,CN域名最低49元,中文域名注册只要180元!
2007-04-12 11:30:00 | [匿名:服务器租用]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
www.tiandai.com
我网站优化的就不错,你可以看看。
2007-03-19 11:49:00 | [匿名:梁经理]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
整个页面的框架和内容都需要从数据库中载入
2006-12-31 09:29:00 | [匿名:米业]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
使用Cache保存数据和请求的外部对象。
2006-12-31 09:28:00 | [匿名:山特UPS]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
frontpage是我最喜欢用的工具
2006-12-31 09:27:00 | [匿名:企业邮局]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
你只能看着进度条发呆了J。
2006-12-31 09:26:00 | [匿名:域名注册]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
very good!
2006-12-22 12:21:00 | [匿名:域名注册]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
商务翻译、交通翻译、航空翻译、纺织翻译、科技翻译、服装翻译、电信翻译、冶金翻译、医药翻译、食品翻译、经济翻译、化学翻译、工程翻译、财经翻译、物流翻译、船务翻译、自动化翻译、计算机翻译、网站翻译、合同翻译、软件翻译、环保翻译、房地产翻译、文学翻译
2006-12-21 13:37:00 | [匿名:tianhongsh]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
www.tianhongsh.com
2006-12-21 13:23:00 | [匿名:a]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
www.tianhongsh.com
2006-12-16 18:29:00 | [匿名:a]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
ok
2006-12-13 22:44:00 | [匿名:wow gold]
#回复: 提高Sharepoint站点访问速度的几点建议 编辑
女人街就在www.meimeisky.com
2006-11-27 15:07:00 | [匿名:gg]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
顶你一下
2006-10-27 16:05:00 | [匿名:域名注册]
# 平台 编辑
平板,平台,铸铁平板,检验平板,铸铁平台,划线平板、铆焊平板、T型槽平板、划线平台、铆焊平台、T型槽平台,装配平台,装配平板,落地镗平台,检验平台,工作台,

花岗石平板,花岗石平台,花岗石平尺,花岗石方尺,花岗石方箱,花岗石直角尺,花岗石V型铁,测微仪

平尺,角尺,平行平尺,桥型平尺,角度平尺,直角尺,镁铝合金平尺

弯板,铸铁弯板,普通弯板

方箱,方筒,铸铁方箱,铸铁方筒,方筒体

垫铁,机床垫铁,机床调整垫铁,防震垫铁,减震垫铁,调整垫铁

齿轮跳动仪,偏摆检查仪,偏摆仪,齿轮跳动检查仪

铸造,铸件,汽车模具,精密铸造,精密铸件

千斤顶,磁性方箱,磁性v型架,平板支架,调整螺栓,地轨

齿轮泵,齿轮油泵,热油泵,不锈钢泵圆弧泵, 高粘度泵,罗茨泵,沥青泵, 渣油泵,煤焦泵
2006-09-13 17:17:00 | [匿名:1213]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
请教:sps 的列表(文档库)能够承受的最大数据量是多少
2006-06-22 14:11:00 | [匿名:talang]
#re:提高Sharepoint站点访问速度的几点建议 编辑
^_~,pretty good!18showsseeoo
2005-04-26 18:15:00 | [匿名:冲板流量计]
#re:提高Sharepoint站点访问速度的几点建议 编辑
^_^,Pretty Good!
2005-04-15 23:11:00 | [匿名:物位变送器]
#re:提高Sharepoint站点访问速度的几点建议 编辑
^_^,Pretty Good!
2005-04-10 19:49:00 | [匿名:粘度计]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
还有请教一下这个论坛是如何通过SharePoint实现的,我是不是太愚昧了哈哈
2004-12-14 15:32:00 | [匿名:Mae]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
我们公司的SharePoint网站速度非常慢,而且越来越慢,真是痛苦啊!搂主说的几点是很好,可我还是不知如何改善啊~~
2004-12-14 15:30:00 | [匿名:Mae]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
拆分页面的一个Table为多个?如何做到?
2004-12-14 11:26:00 | [匿名:Mae]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
请教一下:
请问sharepoint 图标在那个位置存放,我要换成公司的图标如何处理,谢谢
2004-12-12 10:10:00 | [匿名:water]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
WEB标准势在必行!
2004-12-11 08:30:00 | [匿名:ceocio]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
呵呵,下午忙,所以没有过来看,你已经找到了,是的,不仅仅另一格区域,甚至另一个站点都可以。
2004-12-10 18:23:00 | [匿名:Microtoby]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
真是不好意思,我又看了看,原来在数据源目录中可以添加另一个区域作为数据源,嘿嘿,是吧,如果不是请告知:)
2004-12-10 18:19:00 | [匿名:Ocean]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
老兄:麻烦请教,怎么样才能跨区域显示列表数据?比如我新建了一个区域,里面有一个列表,我想把它显示在主页上,而主页是另外一个区域。你在给我的回复中好像是说,用frontpage可以做到,我不知道你说的用frontpage怎么做。自己编写webpart我倒是知道。不过我现在还是想知道用frontpage怎么做。因为毕竟在局域网内速度不是太大问题。关键是方便。
2004-12-10 18:13:00 | [匿名:Ocean]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
to DayDay:
VS.NET和Sharepoint安装在一起是可以的,只是不能使用相同的站点端口,要知道的是VS.NET需要的Frontpage扩展和Sharepoint扩展并不兼容。
2004-12-10 09:40:00 | [匿名:Microtoby]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
To Alexander:
是这样的,就算你连一个空格都没有输入,只是打开并且保存了一下,都会毫不留情的破坏了Page Ghosting。此时,你在修改模板已经不能反映到页面了,Frontpage将会是哪个页面的未来的唯一的编辑器。
2004-12-10 09:38:00 | [匿名:Microtoby]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
To Ocean:
首先Frontpage确实是一把双刃剑,可以快速达到效果,却又会破坏一些Page Ghosting。所以我也写了“(当然,有的时候他也必不可少)”,通常为了避免一些不得已使用Frontpage的时候,如跨区域显示List数据等,我可以用开发一个Web部件的方式解决。这一点来说,我希望新版的Sharepoint能够给我一个编辑Page Ghosting的新方案。
你的网站我看过,其中的录像比较有特色!
2004-12-10 09:36:00 | [匿名:Microtoby]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
各位大佬

在2003 IIS6 安装好了VS.NET2003(要求FrontPage Server Extensions)之后还能安装SharePoint?

为什么2003 IIS6 装好之后默认就有个SharePoint管理站点?
那个是什么呢?
2004-12-10 09:30:00 | [匿名:dayday]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
受益匪浅!

有个问题,是不是用FrontPage打开一个WSS的页面,就算只是在页面上加一个空格然后保存,都会使整个页面保存在数据库中而失去了对Page Ghosting的调用?
2004-12-10 09:27:00 | [匿名:Alexander]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
不错!
2004-12-10 09:13:00 | [匿名:fengzhimei]
#re: 提高Sharepoint站点访问速度的几点建议 编辑
好文!
2004-12-10 00:00:00 | [匿名:kaneboy]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.2.0