龙芯2F平台Web性能测试报告 [多图]

来源:百度文库 编辑:超级军网 时间:2024/04/29 06:17:34
  在4月份刊发的龙芯2E防火墙评测报告中,我们特别提到对龙芯发展方向的看法,那就是远离注重直观体验的桌面应用,进军服务器、网络通信与信息安全等领域,尽量弱化指令集、系统架构、操作系统和上层软件差异带来的影响。近日,实验室拿到了一套完整的龙芯2F开发套件,我们按照上面的想法搭建成Web服务器,重点考察了产品做Web应用时的效能。



  在应用模式趋于多样化的今天,处理器的绝对性能已变得不那么重要,应用环境下的性能逐渐为人所重视。这次我们选择考察Web服务的应用效能,走的正是一条理论与实际相结合的道路。处理器在响应外部HTTP请求时,会消耗一定的资源。一旦超出处理能力,连接请求就会得到各种错误响应。通过测试每秒钟不含错误的最大成功建立连接个数,可以比较准确地评估处理器或硬件平台的性能,为基于平台的真实应用提供参考,这就是计算机世界实验室一直以来针对服务器产品的评测思路。

  寻找一个合适的对比平台,是本次测试最具难度的任务之一。业内关于龙芯产品的评测报道极少,800MHz的龙芯2F性能到底如何,谁心里都没底。我们希望能够找到一个性能与之相仿的硬件平台,将测试结果进行合理的对比分析。工程师几乎检视了实验室所有的PC与服务器,最后决定用一台配有Intel Celeron 2.1GHz处理器的联想启天M2200作为对比平台——尽管我们推测1.8GHz左右的P4平台可能会比较合适,但这已经是我们能找到的配置最低的主机了。



  相比之下,软件环境的搭建就显得容易的多。两组平台都基于Linux,其中龙芯2F开发套件的硬盘中已安装好了较为常见的Debian,附带有被广泛应用的Web服务端软件Apache2。实验室工程师在对比平台上安装了Ubuntu 8.04 Server Edition,并在命令行下通过网络安装好最新版的Apache2。我们努力让龙芯平台与对比平台软硬件配置相似,最大程度地减少了影响测试准确性的因素。

  我们使用思博伦通信提供的Avalanche 2500测试了两组平台的新建连接性能,脚本采用8字节的静态页面,避免因数据传输或网络带宽限制影响测试结果。Apache2提供了实现机制迥异的多路处理模块,用以实现端口监听、请求处理等功能,其中以基于进程的prefork和进程、线程混合的worker比较有代表性。考虑到可能造成的性能差异,我们分别在这两种模式下进行了测试。

  

  首先是prefork模式,龙芯平台每秒新建连接数达到1582个,而对比平台为1121个。虽然处理器的频率和真实效能间没有直接联系,但800MHz的龙芯2F超越了2.1GHz频率的Celeron,是我们没有想到的。而worker模式下龙芯平台每秒新建连接数为1289个,虽然依旧领先于对比平台1068个的表现,但幅度校prefork模式下下降很多。两个平台下worker模式性能都低于prefork模式,这很难解释。由于采用了更先进的处理机制,理论上前者的性能应优于后者,我们推测龙芯2F与Celeron这类单核、单线程处理器并不利于采用进程、线程混合机制的worker模式运行。

  考察项目还包括两组平台在空载与满载时的功耗情况,涉及到的部件包括处理器、主板、内存、网卡和一块硬盘。龙芯平台加电进入系统后空载待机功耗为32W,满载时功耗保持不变;对比平台加电进入系统后空载待机功耗为41W,满载时功耗上升到71W。这个结果要从两方面看。一方面,刨除硬盘自身7-8瓦的功耗,龙芯2F开发板上的组件功耗只有二十多瓦,确实有优势;另一方面,空载满载时的功耗相同,意味着龙芯2F处理器还没能实现对功耗进行动态控制。Intel处理器这方面做的就很到位,我们注意到从加电到进入系统的过程中,对比平台的功耗一直在60-70W之间浮动;而完全进入系统后,功耗马上降低至41W。

  处理器本身功耗低并不意味着就可以忽视这一特性。经过与计算所方面的反复核实,我们得知龙芯2F处理器已经在硬件上具备了根据负载动态调节功耗的能力,只是尚未在软件层面实现。感觉不止是这一方面,龙芯平台在软件层面上还有太多需要完善的东西,例如64位操作系统、编译器的优化、软件代码的优化等,都是可以有效提高性能的手段。计算所作为龙芯处理器的研发机构,纵然不能独自完成这些工作,也应该努力推动产业内不同角色的公司、机构参与进来,共同完善龙芯平台的软硬件环境。

  时间所限,本次我们并没有完成更多的测试项目。计算机世界实验室将继续对龙芯平台进行Web服务的应用测试,引入涵盖动态页面与数据库操作等内容在内的复杂脚本,全面评估两组平台的性能。敬请关注我们的后续报道。在4月份刊发的龙芯2E防火墙评测报告中,我们特别提到对龙芯发展方向的看法,那就是远离注重直观体验的桌面应用,进军服务器、网络通信与信息安全等领域,尽量弱化指令集、系统架构、操作系统和上层软件差异带来的影响。近日,实验室拿到了一套完整的龙芯2F开发套件,我们按照上面的想法搭建成Web服务器,重点考察了产品做Web应用时的效能。



  在应用模式趋于多样化的今天,处理器的绝对性能已变得不那么重要,应用环境下的性能逐渐为人所重视。这次我们选择考察Web服务的应用效能,走的正是一条理论与实际相结合的道路。处理器在响应外部HTTP请求时,会消耗一定的资源。一旦超出处理能力,连接请求就会得到各种错误响应。通过测试每秒钟不含错误的最大成功建立连接个数,可以比较准确地评估处理器或硬件平台的性能,为基于平台的真实应用提供参考,这就是计算机世界实验室一直以来针对服务器产品的评测思路。

  寻找一个合适的对比平台,是本次测试最具难度的任务之一。业内关于龙芯产品的评测报道极少,800MHz的龙芯2F性能到底如何,谁心里都没底。我们希望能够找到一个性能与之相仿的硬件平台,将测试结果进行合理的对比分析。工程师几乎检视了实验室所有的PC与服务器,最后决定用一台配有Intel Celeron 2.1GHz处理器的联想启天M2200作为对比平台——尽管我们推测1.8GHz左右的P4平台可能会比较合适,但这已经是我们能找到的配置最低的主机了。



  相比之下,软件环境的搭建就显得容易的多。两组平台都基于Linux,其中龙芯2F开发套件的硬盘中已安装好了较为常见的Debian,附带有被广泛应用的Web服务端软件Apache2。实验室工程师在对比平台上安装了Ubuntu 8.04 Server Edition,并在命令行下通过网络安装好最新版的Apache2。我们努力让龙芯平台与对比平台软硬件配置相似,最大程度地减少了影响测试准确性的因素。

  我们使用思博伦通信提供的Avalanche 2500测试了两组平台的新建连接性能,脚本采用8字节的静态页面,避免因数据传输或网络带宽限制影响测试结果。Apache2提供了实现机制迥异的多路处理模块,用以实现端口监听、请求处理等功能,其中以基于进程的prefork和进程、线程混合的worker比较有代表性。考虑到可能造成的性能差异,我们分别在这两种模式下进行了测试。

  

  首先是prefork模式,龙芯平台每秒新建连接数达到1582个,而对比平台为1121个。虽然处理器的频率和真实效能间没有直接联系,但800MHz的龙芯2F超越了2.1GHz频率的Celeron,是我们没有想到的。而worker模式下龙芯平台每秒新建连接数为1289个,虽然依旧领先于对比平台1068个的表现,但幅度校prefork模式下下降很多。两个平台下worker模式性能都低于prefork模式,这很难解释。由于采用了更先进的处理机制,理论上前者的性能应优于后者,我们推测龙芯2F与Celeron这类单核、单线程处理器并不利于采用进程、线程混合机制的worker模式运行。

  考察项目还包括两组平台在空载与满载时的功耗情况,涉及到的部件包括处理器、主板、内存、网卡和一块硬盘。龙芯平台加电进入系统后空载待机功耗为32W,满载时功耗保持不变;对比平台加电进入系统后空载待机功耗为41W,满载时功耗上升到71W。这个结果要从两方面看。一方面,刨除硬盘自身7-8瓦的功耗,龙芯2F开发板上的组件功耗只有二十多瓦,确实有优势;另一方面,空载满载时的功耗相同,意味着龙芯2F处理器还没能实现对功耗进行动态控制。Intel处理器这方面做的就很到位,我们注意到从加电到进入系统的过程中,对比平台的功耗一直在60-70W之间浮动;而完全进入系统后,功耗马上降低至41W。

  处理器本身功耗低并不意味着就可以忽视这一特性。经过与计算所方面的反复核实,我们得知龙芯2F处理器已经在硬件上具备了根据负载动态调节功耗的能力,只是尚未在软件层面实现。感觉不止是这一方面,龙芯平台在软件层面上还有太多需要完善的东西,例如64位操作系统、编译器的优化、软件代码的优化等,都是可以有效提高性能的手段。计算所作为龙芯处理器的研发机构,纵然不能独自完成这些工作,也应该努力推动产业内不同角色的公司、机构参与进来,共同完善龙芯平台的软硬件环境。

  时间所限,本次我们并没有完成更多的测试项目。计算机世界实验室将继续对龙芯平台进行Web服务的应用测试,引入涵盖动态页面与数据库操作等内容在内的复杂脚本,全面评估两组平台的性能。敬请关注我们的后续报道。
上期我们发布的龙芯2F平台Web性能测试报告引起了广泛关注,许多热心读者通过各种方式向我们表达了自己的看法与建议,在此表示感谢。一些读者也指出,单凭静态页面的处理能力评估处理器和硬件平台,并不具备完整性。的确,在这个Web 2.0大行其道的时代,静态页面的应用范围越来越小,这是无可争议的事实。本次测试的下半部分,我们就通过3个相对复杂的测试用例,考察了两个硬件平台承载动态页面时的性能。

  动态页面的基础是对象脚本语言和数据库,我们首先要做的是搭建一个满足需求的测试环境。在之前的测试中,两个平台都已装好Linux和Apache,实验室工程师直接在此基础上安装了PHP和MySQL,构建了一个完整的LAMP(Linux/Apache/MySQL/PHP)环境。以高性能、低成本著称的LAMP是当前主流的开发和应用环境之一,我们也希望这次测试能为诸多开源平台下的开发者和用户带来帮助。考虑到基于PHP的应用中经常涉及到对图像的处理,我们也安装了GD库的所有组件,并建立了必要的关联。

  测试环境搭建完成,接下来就是应用环境和测试用例的选择。对此,实验室工程师的原则是,既能充分考察硬件平台的性能,又要具备实用性和代表性。应用环境的最终选择是Discuz!网络论坛,它有足够多的部署基础,程序结构和算法又相对复杂,操作模型也便于测试仪实现。基于它我们可以打造很多与实际应用紧密关联的测试用例,通过考察HTTP最大新建连接能力,全面地反映出被测平台的Web性能。



  Discuz!(6.0.0_SC_UTF8)的安装过程很简单,并且安装完毕后的默认配置已经在保证兼容性的前提下对性能进行了优化。工程师很快就在两个平台上成功搭建出新论坛,虽然只有一个用户、一个默认板块并且从未发表过帖子,但论坛首页的正常显示意味着LAMP四大组件已经全部处于带负载的工作状态。这个首页就是我们第一个测试用例,龙芯平台每秒最大可以处理11个访问请求,而对比平台则可以处理20个。

  打开论坛的验证码模块,利用GD库实时生成图片验证码,增加处理器运算单元的负担,是我们计划中的第二个测试用例。但在实施过程中,我们发现Discuz!为提高运行效率,只有在使用鼠标点击验证码输入框时,才会生成随机验证码图片,而测试仪很难模拟这个行为。程序的复杂结构为代码分析制造了很大障碍,我们最终放弃了寻找并提取功能模块的想法,转而在首页的源文件中编写了一段原理、功能相似的代码作为替代。这一次,龙芯平台每秒最大事务处理能力降到9,而对比平台则降为16。

  从降幅中可以看出,通过GD库输出随机验证码图片对处理器造成的负载并不大,大量资源被论坛复杂的脚本解析和数据库操作所占用。为了证明这一点,我们把刚才编写的代码单独保存成一个脚本进行了测试,即第三个测试用例。龙芯平台每秒最大可以处理43个访问请求,而对比平台的每秒最大事务处理能力则高达104,与之前的推测相吻合。



  整理一下三次的测试数据,发现一个很有意思的情况。从脚本的复杂程度来说,随机验证码图片的生成最简单,论坛首页次之,两者结合最复杂,这也可以从两个平台测试成绩的纵向比对中被证明。再横向比对一下,单独考察随机验证码图片的生成,龙芯平台的性能约为对比平台的41%;单独考察论坛首页,龙芯平台的性能是对比平台的55%;而在两个测试用例相结合的情况下,龙芯平台性能约为对比平台的56%。脚本越复杂,两个平台的性能差距越小。

  我们推断,造成这种情况的罪魁祸首主要是处理器流水线级数的差异。处理的事务模型越复杂,中断流水线操作的可能性就越大。而事务模型相同的情况下,流水线越长,中断流水线操作的代价就越大。Northwood核心的 Celeron处理器流水线高达21级,是龙芯2F的两倍多,也就不难理解为何测试脚本越复杂,两个平台的性能差距越小。如果有机会,我们一定找一颗31级流水线的Prescott核心Celeron处理器来验证这个推断。

  客观地讲,龙芯2F平台在测试中的综合表现是基本令人满意的。静态页面的处理能力体现出I/O、缓存等架构方面的先进性;动态页面的测试结果表明运算单元的性能还有待提高,这可以通过提高频率等方式解决。物理特性是优势所在,低功耗带来了低发热,在恒温28度的实验室环境下,龙芯处理器连续满载工作24小时后散热片温度仅为57度,被动散热就足以满足需求,环境适应性比较突出。



  随着应用范围的逐步扩展,我们认为龙芯要优先解决的已不再是处理器的问题,而是编译器的问题。对于通用处理器来说,一个适用的编译器不但可以最大限度地发挥硬件平台的性能,更可以有针对性地弥补某些性能弱项。应用层面越高,这一点越重要,毕竟处理复杂事物时影响性能的关键因素就是最短的那块木板。

  缺乏自己的编译器,这个问题已经开始制约龙芯平台性能的发挥。我们注意到,ST在相关文档中提到龙芯2F处理器已具有类SSE形式的SIMD指令集,没有相应的编译器,又如何能让这些指令发挥作用?进一步讲,如果通用编译器现在还基本能发挥龙芯2号处理器的性能,又能让即将面世的龙芯3号多核处理器发挥出多少性能呢?如果那个时候才开始做相应的工作,恐怕为时已晚。
这么看,还不错呀
火星文了。
同样的代码,同样的CPU,好的编译器和差的编译器,出来的效果就差远了。不过我说啊,MIPS指令集的编译器都那么多年怎就这样呢??
为什么给龙芯装debian ,而给celeron装ubuntu呢?为啥不给他装slackware试试呢.
分明欺负celeron么
配的什么东西啊。


这里再举些例子,都是直接测试,没有进行参数和选项优化。
处理器类别        具体参数                        测试平台                           CINT2000       CFP2000
VIA C3        Samuel-2 550MHz         Linux 2.4.20-8,Gcc 3.2.2            89                53
VIA C7        Esther 1500MHz           Linux 2.4.20-8,Gcc 3.2.2            259              159
赛扬           2400MHz                      Linux 2.4.20-8, Gcc 3.2.2          361              198
龙芯2E        1000MHz                      计算所平台                               335               307
龙芯2E        666MHz                        福珑迷你电脑,2.6内核              201               164
计算所平台的编译器是gcc 3.4.1   ls的看看celeron的整数成绩好吗?估计跟c7  2.0G的性能差不多,可是C7在实际应用中性能不理想,是为什么!!难道开源编译器敢欺负intel的处理器。龙芯平台没有好的编译器是个很大的问题!!

这里再举些例子,都是直接测试,没有进行参数和选项优化。
处理器类别        具体参数                        测试平台                           CINT2000       CFP2000
VIA C3        Samuel-2 550MHz         Linux 2.4.20-8,Gcc 3.2.2            89                53
VIA C7        Esther 1500MHz           Linux 2.4.20-8,Gcc 3.2.2            259              159
赛扬           2400MHz                      Linux 2.4.20-8, Gcc 3.2.2          361              198
龙芯2E        1000MHz                      计算所平台                               335               307
龙芯2E        666MHz                        福珑迷你电脑,2.6内核              201               164
计算所平台的编译器是gcc 3.4.1   ls的看看celeron的整数成绩好吗?估计跟c7  2.0G的性能差不多,可是C7在实际应用中性能不理想,是为什么!!难道开源编译器敢欺负intel的处理器。龙芯平台没有好的编译器是个很大的问题!!
太不专业了,
既然测WEB,必然要先过specWEB的测试,弄一个这个出来算啥呢
赛扬2.1G的性能估计和P3 900Mhz相当, 远低于P4 1.8G

当年P4核心的赛扬性能硬是比P3核心的赛扬低出一截
原上草 发表于 2009-6-25 22:34
缺乏产业和产品推动吧...尤其是扩展的那些指令集{:3_82:}
roadrunner 发表于 2009-6-27 08:35
至少也要分什么测试和应用啊...northwood的P4和willamette的P4与和P4赛扬大致性能对比满世界都是,当然专业测试少,应用测试总应该很多的。没有能够支持“赛扬2.1G的性能估计和P3 900Mhz相当”的结论。
此外图钉赛扬从1g到1.4g都有,要是比频率性能,老P4也不是对手,“低出一截”
实际上P4核心的赛扬的测试是非常难找的, 因为P4核心的赛扬的性能下降幅度远远高于传统概念上的赛扬.

W核心的赛扬废材许多人都知道, 但大家可能不知道N核心的赛扬当年号称非常好超, 随便上3G, 但是真正应用对比, 超到3G的N核心赛扬, 被完全不超的K7 1800+干掉了, 当年P4核心的赛扬, 性能只用同频P4的60%左右.

我个人做过的一个对比测试, 1.3G的图拉丁赛扬, 搭配R8500LE显卡, CPU,显卡,内存全不超(PC100), BX主板(仅支持AGP2X), 对比赛扬2.0G, DDR 333内存, AGP 8X, TI4200 8x显卡, 比3DMARK 2K1(一个偏重CPU的测试), P4赛扬系统在主板内存显卡AGP规格上全面领先, 但是最终结果楞是图拉丁的成绩高出近10%
所以Intel不把图拉丁砍了的话简直是没天理
sergeant_w2 发表于 2009-6-27 13:46

INTEL这样搞,只为炸取列多利润,提高性能都是扯淡

所以龙芯是有机会的
文子容 发表于 2009-6-27 14:09

先赶上现在低档2手货的性能再说吧,和这样的古董比性能,还真长脸