公司一个项目打算基于MOSS2007来开发,经过一段时间的折腾(之前项目组的人都没接触过SPS/WSS),对这个微软现在力推的东东有了初步的认识。在实际应用中碰到了一些问题,虽然问过很多人(国内外的很多SPS专家),但是还不知道怎么解决,现在总结一下:
一 性能问题
用过SPS的人都知道,访问速度是它的一个硬伤。现在在Internet上的SPS网站,除了展示信息(如中石油等)还没有看到和用户有大量交互的应用,更别说把诸如文档管理等SPS的一些强项拿出来了。SPS到底有多慢?
前几天做了一些对比的性能测试,结果放在下面(工具用的LoadRunner,用Robot也做过,但是没有详细的记录):
测试网站 |
A |
B |
C |
页面 |
默认主页 |
默认主页 |
默认主页 |
页面大小 |
41.4K |
33.3K |
5.3K |
并发用户数 |
100 |
100 |
100 |
第一次测试结果 |
最大响应时间 |
26.70 |
12.31 |
12.29 |
最小响应时间 |
9.33 |
5.19 |
0.65 |
平均响应时间 |
17.52 |
7.38 |
5.57 |
第二次测试结果 |
最大响应时间 |
21.59 |
11.98 |
24.21 |
最小响应时间 |
8.25 |
5.81 |
0.36 |
平均响应时间 |
16.26 |
7.74 |
9.23 |
第三次测试结果 |
最大响应时间 |
24.86 |
11.64 |
24.48 |
最小响应时间 |
7.81 |
4.58 |
0.39 |
平均响应时间 |
15.69 |
6.67 |
10.82 |
备注 |
在C上并发用户会有出错的情况(一般是10-30个), 错误为连接超时或连接不到服务器.而AB没有这种情况. |
其中A是我们为这个项目开发的网站,B是一个MOSS空网站(即只是简单的通过Central Administrator创建,对页面未做任何修改),C是公司另外一个项目的网站。
A的主页上有4张图片,一个Flash,这个页面的内容是全部自定义。
B是用TeamSite模板建立的。
C是一个简单的登陆页面,只包含一个图片。
其中AB都开启了匿名登陆,这三个页面的访问都不存在验证问题,仅仅是请求一个页面。
我用的版本是B2的,暂时还没有升级到B2TR,而我相信速度问题不是升级可以解决的,SPS的结构决定了它就是这么慢(虽然我的测试结果不一定准确,也可能做一些优化)。如果是这样,MS开放它干什么呢?从2003到2007可以看出来MS是想让SPS应用到Internet上的(一系列的转变,包括完全基于ASP.NET2.0和提供了Form验证等),但是这样的结构(能放在数据库的全放到数据库了),能怎么提升速度呢?不要告诉我Page Ghosting什么的,看看B的测试结果。
二 验证问题
用2003的时候很多人都觉得不错,但是只能使用AD验证,问题来了。能不能放到Internet上去?那样的话做Web应用该是多么爽的一件事,SPS有那么多让人激动的功能,不说别的,就文档管理和全文检索,你自己去做看看?你看要做多久,你看做出来之后会有多少Bug。MS非常的体谅我们,于是2007刚出来的时候,几位国外的高人就把Form验证弄出来了。
但是,我真不喜欢用但是这个词,问题又来了。以前2003和AD为什么要结合那么紧?我想MS多少有它自己的考虑。你用SPS,OK,你用不用Word?用不用Excel?甚至InfoPath等?别说你不用,这些东西和SPS都集成了。那这些东西的验证怎么办?难道还指望在Word里加一个Form登陆的东东?
折腾了一段时间后,我们好象明白了,如果硬要把SPS Site弄成Form验证,那这些我们想要的,客户需要的Office的东西都没办法用了(如果你知道怎么解决,希望你可以告诉我)。
三 其它
有一些我还不确定的或者不是属于技术方面的问题,比如InfoPath要安装客户端,这一条就会吓退很多用户(我们项目的用户),WorkFlow不管是配置还是使用对用户的要求都超高(结束一个WF的时候还得去结束这个Job(or Task?)),Office2007什么时候才能普及?等等,不在这多说。
最后我还是得说,MOSS真是个不错的东西,通过这段时间的研究,发现MS力推它确实没错。对一个企业或集团来说,使用MOSS的好处就不一一列举了,光是它的稳定性,Bug少这两点,就足以击败很多国内开发类似的应用的公司。但是想把MOSS放到Internet上,而同时不受到AD和速度的限制,不知道要等到什么时候。