云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云主机_文件服务器搭建_免费

小七 141 0

CloudBees Accelerator与distcc,第2轮:MySQL

之前,我们在构建linux2.6内核时比较了CloudBees加速器和distcc的性能。我希望这将是后续研究的第一步,我将用不同的软件包重复这个实验,以确定这个结果是一次性的,还是CloudBees Accelerator是否一直比distcc更好。在这一轮中,我们将构建MySQL,一个流行的非商业用途的免费数据库服务器.MySQL虽然没有Linux内核那么大,但是按照开源标准,它仍然相当大:源代码发行版中总共有7000个文件(包括源文件和非源文件)。代码是用C和C++编写的,这与Linux内核有很大的区别,据我所知,它完全是C(当然是汇编)。我的测试硬件上的串行构建时间是20m2.8s(四次运行后的平均值)。对于那些没有读过前面文章的人,测试设置包括9个物理服务器,配置为以下:双Xeon2.4GHz超线程CPU的8个系统,带1.5GB RAM;一个在专用交换机上有2GB RAM千兆以太网连接的系统Redhat Desktop 3,更新8I在此中使用了以下软件包测试:GNU make3.79.1distcc 3.1CloudBees Accelerator 4.3.1.25685MySQL 5.1.31处理之前,我使用了一个驱动程序脚本来简化测试的运行:!/bin/shgver="`make--version | head-1 | awk'{print$4}'| sed-es/,//`路径=/opt/opt/ecloud/i686\u Linux/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/binpackage=mysql-5.5.1.31未设置的ARCHunset outtopurest未设置的脱贫金除u库外,u PATHDISTCC\u潜在的潜在的U HOSTS='blade1 blade2 2 blade4 blade5 blade6 blade7 blade10 blade11'出口DISTCC出口DISTCC的出口DISTCC\u DIR=`/bin/pwdd`//.distccexportdistcc\潜在的潜在的潜质将寄托的寄托的寄托"DISTCC我在一二三四五6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24dopfx=../distcc-3.1-pump/distcc$irm-rf"$package"tar xzf$包.tar.gz"cd"$package"../configurerm-f$DISTCC_DIR/lock/*(时间泵make-j$i CC=DISTCC CXX="DISTCC g++"$targets)"$pfx.输出"2>&1cd..doneecho DONE)"distcc-3.1-泵/数据测试输出"2>;1MySQL开箱即用地构建同时使用distcc和Accelerator:不需要对makefile进行修改,distcc的"pump"模式不需要额外的配置。您可以看到,对于这个比较,我使用不同的并行级别运行构建(通过为distcc运行更改-j参数,为加速器运行更改--emake maxagents参数)。这给了我所需的数据,以显示在向集群中添加越来越多的节点时distcc和Accelerator是如何伸缩的。请注意,虽然驱动程序脚本在每个并行级别只运行一次,但我将驱动程序脚本完整地运行了三次,这样就可以在每个并行级别上为每个构建工具获得一个良好的平均时间。还要注意,我运行了一次加速器构建,以生成一个用于后续运行的历史文件;初始构建的时间不包括在结果。结果在这里是结果:有关于这个结果我发现了一些有趣的事情。首先,当然,在高并行度下,加速器以显著的优势击败了distcc。distcc提供的最佳时间约为4m15s,比串行时间快4.7倍。加速器提供的最佳时间约为1M49秒,比串行时间快约11倍。根据我们的构建可视化和分析工具electronicsight,基于建造。它比较gmake-j与distcc的性能也很有趣。就其本身而言,gmake-j提供了大约1.9倍的改进,如果构建系统有两个物理CPU,这是您所期望的。但是,这告诉我们,在gmake-j和distcc中获得的4.7倍的总改进中,添加distcc仅占2.5倍(注:要从多种技术中获得总的改进)结合使用,您可以将每种改进相乘;例如,2.5x乘以1.9x大约是4.7x)。使用distcc的gmake大约在并行度为10或11时达到最大值;Accelerator继续看到收益,直到达到16探员。最后,在加速器计时中有一个令人惊讶的步骤结果:每次将代理数推过3的倍数,就会有显著的改善。我相信这是我配置集群的一种方式,每个双CPU主机有三个代理。Accelerator中的代理分配算法倾向于在从不同主机获取代理之前先在同一主机上获取代理,因此我们很可能看到的效果是完全加载一个主机,然后将另一个主机添加到正在使用的主机池。结论看来加速器赢了这一轮。这是最新的记分卡:PackageBest distcctimeBest加速器timeAdvantageLinux 2.6.28.14m25s2m38sAcceleratorMySQL 5.1.314m15s1m49sAccelerator