一 性能问题
用过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和速度的限制,不知道要等到什么时候。