目录
目录X

动易SiteFactory2.0负载能力深度测评报告(1)

[NextPage前言]   一、前言部分

2008年12月03日,我们对外发布了基于微软.net平台的企业级内容管理系统——动易 SiteFactory™ 2.0 正式版。此次发布的 SiteFactory™ 2.0 版本不仅在系统架构方面进行了最大程度的改进,而且对查询语句、索引、应用程序调用及数据库性能等方面进行了仔细且严格的优化!特别是内置于Xpower模板解析引擎中的标签库全部重新书写及优化,重新按照模板设计思路的进行目录归类,精简标签数量到200多个等一系列优化和改进之后,无论是易用性还是执行效率上都远远超越了历届版本。

距离 SiteFactory™ 面市已经过去数月,虽每一次版本的更新都伴随着负载和性能的一次提升,但具体提升多少并没有多少人知道。如今,在新版本架构和执行性能趋于稳定后,我们特别组织动易测试部对SiteFactory™ 2.0 的数据负载能力进行一次全方位的深度评测。希望通过具有说服力的“实际评测数据”,为大家展示SiteFactory™ 2.0 真正的负载实力。

《用数据说话!动易SiteFactory2.0负载能力深度测评报告》将被分成数个篇章以评测系列的方式进行介绍,整个评测过程采用透明、公开的方式供大家监督!如果有谁对测评过程和测评结果有疑问,可以自行参照我们的测试过程搭建类似的测试环境自己测试和对比测试结果。

下面我们就开始第一部分的评测:

[NextPage测试环境]

  二、测试环境

  1、服务器环境:

为了测试普通环境下SiteFactory的负载能力,特使用普通台式机作为服务器来测试SiteFactory的运行情况。
服务器配置如下:
服务器配置
服务器配置

  • Intel® Core™2 CPU 4400 @ 2.00GHZ 2.00 GHz,2.00GB的内存
  • 250G硬盘
  • 服务器上安装了Windows2003,搭建了必要的环境,为了避免其他网站可能会产生的干扰,服务器上只放有一个测试网站。

  2、客户端环境:

为避免某一台客户端电脑配置太慢会引起误差,采用3台不同的电脑上来测试。三台电脑的配置分别为:



  3、其他环境:

为避免因特网网速会引起的误差,采用局域网访问方式。
为了与真实应用的效果,不是采用程序直接录入100万条最简单的数据,而是通过用户提供的实际网站数据,准备了10万数据量和100万数据量的数据库来进行测试。
  下图是显示有10万/100万篇文章,全是常规文章,而不是统一添加的相同数据。







[NextPage评测工具]

三、评测工具


1、载入时间测试工具(webwait,网址: )

WebWait是一个提供测量网站载入速度的网站。它可以计算网站从读取到完成需要多少时间,包括所有图象、stylesheets和JavaScript。

WebWait目前支持FireFox、Opera和IE三种浏览器,你可以设置载入页面的次数和每次的时间间隔,默认5次之后计算出平均值就为结果了。



2、测试用浏览器

微软IE7 浏览器
 
[NextPage后台管理页面的性能测试(一)]

  四、评测步骤                                                                                                                                  

  1、后台管理页面的性能测试

使用WebWait来测试网页载入时间,从点下链接开始,到页面打开计时。每台电脑上点击6次,只取后5次时间的平均值。(说明:因为ASP.NET的“第一次访问页面会进行编译等操作而导致会比较慢,后面访问才会非常快”的特性,所以测试结果不取第一次打开页面时间。)

1)全部内容打开时间:
10万篇文章时后台管理“全部内容”打开时间



100万篇文章时后台管理“全部内容”打开时间


[NextPage后台管理页面的性能测试(二)]

2)待审核内容打开时间
10万篇文章时待审核内容打开时间

 
100万篇文章时待审核内容打开时间



[NextPage后台管理页面的性能测试(三)]

3)已审核内容打开时间

10万篇文章时已审核内容打开时间


100万篇文章时已审核内容打开时间


  小结:动易SiteFactory的后台管理可以轻松承载100万的数据,并且和10万数据时相比,没有任何性能上的衰减。无论是10万数据还是100万数据,后台管理的几个主要页面的打开时间都在0.2秒以内,可以说是“闪电”来形容,绝对是“飞快”的级别。

[NextPage生成HTML页面速度测试(一)]

  2、生成HTML页面速度测试

1)内容页模板最简化,只保留显示文章的标题、作者、更新时间、内容等,不要任何其他不相关的标签,如相关文章、推荐文章、热门文章等,生成1万篇文章计时。模板的前台显示效果见下图:


为了不让ASP.NET的特性影响生成速度,先小量生成10篇文章,不计时,然后开始生成1万篇文章并计时。

10万篇文章数据量,生成1万篇文章计时


2)使用一个官方默认提供的模板(除了含有文章的标题、作者、更新时间、内容等,还有相关文章、推荐文章、热门文章等标签),生成1万篇文章计时。模板的前台显示效果见下图:


最后的运行时间见下图:

 

  小结:动易SiteFactory2.0的内容页的生成速度可以说用“飞快”来形容,无论是10万数据还是100万数据,无论是简单模板还是复杂模板,内容页的HTML生成速度都达到了每秒可以生成6-10篇。从数据中也可以看出来,同样的模板时,10万数据和100万数据在生成HTML时没有太大的性能差异,但模板的复杂度则直接影响了生成速度,模板越复杂,调用的标签越多,性能衰减得越厉害。

[NextPage生成HTML页面速度测试(二)]

3)将6万多篇文章归属于某栏目,然后为这个栏目制作一个最简单的栏目列表页模板,模板中只有一个分页列表,没有热门文章、推荐文章等标签。生成这个栏目列表页,计时。模板的前台显示效果见下图:


从上图可以看出,这个栏目下共有6万多篇文章,每页20篇文章,共要生成3000多页。
为了不让ASP.NET的特性影响生成速度,先生成某个只有10篇文章的栏目列表,再生成此栏目的列表并计时。


4)为上述栏目使用官方默认的栏目列表页模板,生成栏目列表页,计时。模板的前台显示效果见下图:




  小结:动易SiteFactory2.0的栏目页的生成速度可以说用“飞快”来形容。无论是10万数据还是100万数据,使用简单模板的情况下,生成一个含有6万多篇文章(每页20篇文章,共要生成3000多个页面)的栏目页的生成时间都在150秒左右,约每秒种生成20页,性能上没有太大的差异。

当使用复杂模板时,10万数据和100万数据在生成HTML时出现了较大的性能差异,但100万数据和复杂模板时仍能达到每秒钟10个页面左右的速度,仍可以归于“飞快”级别。对比两个表格的数据,我们可以清楚的看到模板的复杂度则直接影响了生成速度,模板越复杂,调用的标签越多,性能衰减得越厉害。

[NextPage生成HTML页面速度测试(三)]

5)为首页节点制作一个简单的模板(只调用4个栏目的列表),生成首页计时。模板的前台显示效果见下图:


为了不让ASP.NET的特性影响生成速度,第一次生成首页不计时。




6)为首页制作一个复杂的模板(调用20个栏目的列表,还有其他各种功能),生成首页计时。模板的前台显示效果见下图:






  小结:动易SiteFactory2.0的首页的生成速度可以说用“飞快”来形容,无论是10万数据还是100万数据,无论是简单模板还是复杂模板,首页的HTML生成速度都在1秒左右。从数据中也可以看出来,同样的模板时,10万数据和100万数据在生成HTML时没有太大的性能差异,但模板的复杂度则直接影响了生成速度,模板越复杂,调用的标签越多,性能衰减得越厉害。

[NextPage动态页访问性能测试]

  3、动态页访问性能测试

1)让首页节点使用上述第5项测试中的简单模板,前台访问动态首页计时
为了不让ASP.NET的特性影响生成速度,第一次访问首页不计时。



2)让首页使用上述第6项测试中的复杂模板,前台访问动态页计时
10万篇文章时打开动态首页时间



  小结:动易SiteFactory2.0的首页的访问速度可以说用“飞快”来形容,无论是10万数据还是100万数据,无论是简单模板还是复杂模板,首页的HTML生成速度都在3秒左右。从数据中也可以看出来,同样的模板时,10万数据和100万数据在生成HTML时没有太大的性能差异,但模板的复杂度则直接影响了生成速度,模板越复杂,调用的标签越多,性能衰减得越厉害。

当我们和生成首页的时间进行对比,我们发现一个很特殊的现象:生成首页的时间还小于访问动态首页的时间。这是为什么呢?这是因为本次测试的统计时间是以页面打开时间为准,这里面包含了三个时间:服务器端的程序执行时间+IE下载页面时间+IE解析页面时间。生成首页HTML时,显示的信息很少,所以后两者几乎不用时间;访问动态首页时,因为首页的信息量大,还有大量图片等,所以后两者的时间相对较长。

[NextPage测评结果汇总和结论]

  五、测评结果汇总和结论






从上面的结果可以看出SiteFactory能够很轻松地承受100万的数据量,并且多数情况下我们很难看出100万数据量和10万数据量的性能差异。

一个CMS的性能好坏和多方面有关:

1、查询语句的合理性
2、索引是否正确
3、数据库软件的性能
4、硬件平台
5、应用程序的调用方法。

对于动易SiteFactory来说,系统本身的设计能影响到的性能只限于后台管理页面,动易SiteFactory的优秀设计使得后台管理能够轻松承受100万的数据量。但前台因为模板和标签是完全可以自定义的,所以前台的性能和生成HTML时的性能受两大方面的影响:

1、模板中调用的标签数量。调用的标签越多,速度越慢。
2、标签本身的设计,其中标签中的SQL查询语句是否合理、查询语句中的对应字段是否建立了索引,索引是否正确等直接影响了性能好坏。

动易SiteFactory的前台是否可以承载100万数据量,要看模板和标签的合理设计、数据库对应的优化。不过从测试来看,官方提供的模板和标签还是比较合理的,能够轻松承载100万的数据量。

  由于用于测试的服务器只是一台普通的台式机,如果使用专业的品牌服务器,相信生成速度和访问速度都有很大的提高。

  下一个性能测评报告,我们将重点测试动易SiteFactory的并发访问负载能力。敬请期待!

[NextPage评测反思]

反思:

从我们的测评结果来看,动易SiteFactory绝对可以用飞快来形容,我们平时在动易官方网站的使用情况也证实了这一点,但为什么老是有用户反映说他们感觉很慢呢?有以下几个原因:

1、Asp.Net的特性是第一次访问某个页面时,要进行编译过程,所以第一次访问会很慢,再后面无论是自己再访问还是其他人再访问这个页面,因为已经不需要编译过程了,所以会飞快。但很多用户不明白这一点,总是以自己第一次页面的时间来衡量,所以当然会感觉慢,因为这不是感觉,而是事实。

2、Asp.Net程序的对运行环境的要求相对ASP/PHP要高不少,一般的100元的那种虚拟主机因为给每个网站分配的资源是非常非常少的(比如限制了1%的CPU占用率,100M的内存),这样的主机是不适合运行Asp.Net程序的,而很多用户恰恰是用这些主机来测试动易SiteFactory,再和ASP/PHP程序一对比,自然就会感觉较慢。

3、动易SiteFactory本身做性能做了很多优化,大量使用了缓存,是一种以内存换速度的作法,很多主机就算没有对CPU限制得过死,但对内存占用一般都限制在100M左右,远小于SiteFactory对内存的需求,导致许多东西无法缓存,从而导致动易SiteFactory运行得较慢。当主机满足动易SiteFactory的内存需求时,动易SiteFactory是可以运行的非常快的。从我们的这次测试结果来看,普通的台式机配置就可以完全满足动易SiteFactory的需求。

4、许多用户用来测试动易SiteFactory的电脑上装满了各种各样的软件,特别是一些杀毒软件没有配置好,一些内存优化软件不断的清除动易SiteFactory生成的缓存对象,一些软件的冲突导致IIS的应用池不断重启,从而导致动易SiteFactory每次访问都要重新编译,所以会出现非常慢的情况。如果你遇到这种情况,请检查电脑的环境配置。用来测试动易SiteFactory尽可能的在干净的Windows2003系统下进行(可以安装虚拟机)。
【打印正文】 发布时间:2008-12-04 10:31:46 浏览次数: 作者:动易测试部 来源:本站原创
×

用户登录