PPC架构虚拟主机体验

4060阅读 0评论2015-04-01 forgaoqiang
分类:虚拟化

前段时间运气不错,拿到了IBM PPC架构CPU的虚拟主机的体验试用资格,对主机进行了简单的体验和测试,总体感觉一般,I/O性能要明显高于阿里云,其他方面表现一般般,而大部分问题源于预装的系统(RadHat 6.5),具体的一些体验和测试,分为以下几个内容,如下:

1、关于网络

首先比较有意思的是拿到的IP地址,这个IP地址我看了下
  1. [root@t6 etc]# curl ifconfig.me
  2. 182.18.34.25

  3. 82.18.34.25英国
尝试测试了下到百度的延时,这个速度的确吓了我一跳,果然够快,我本地到百度应该在20ms左右,看样子两个机房的位置应该比较近,肯定不是英国的机房了(因为就算是光速,10000公里也需要30豪秒的时间,这个是物理限制)


traceroute 尝试查看过路的路由器都是什么地址,好吧居然30跳超时了,甚至连网关都没看到,估计是网络做了设置了,算你狠



于是我想,你从内部的不让看,那么我从外部追踪呢,于是从我的PC机开始 tracert 





最后可以看出机房应该是位于北京,很有可能是鲁谷机房或者东四机房。
从上图看延时,可以感觉出来,第一跳到网关延时居然平均超过1毫秒,这应该是运维做的不到位的地方了,不可能第一跳就这么高的延时,很有可能是临时搭凑的服务器,临时接入的网络,也有可能是虚拟化网络处理的时候有比较大的开销造成的。


这个是IBM主机的采用 flood ping模式对第一跳默认网关的ping的过程,总共进行5秒钟时间,IBM丢包率 8%,平均延时较小


下面是阿里云采用 flood ping 模式对第一跳网关ping的过程,总共进行5秒钟时间,aliyun 丢包率为0%,平均延时较高



上行带宽速度测试:

至于带宽当前是非常高的,上行我应该是受本地带宽限制(10Mbps的联通宽带),上行基本10Mbps跑满,下载也能够达到最高速度。

关于网络的结论是:
北京节点的IBM PPC云小机延时存在一些问题, 网络带宽没有问题,非常好。

2、关于系统本身

操作系统预装的是Redhat 6.5,具体的版本信息是:

  1. [root@t6 ~]# cat /etc/redhat-release 
    Red Hat Enterprise Linux Server release 6.5 (Santiago)


  2. Linux version 2.6.32-431.el6.ppc64 (mockbuild@ppc-003.build.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Sun Nov 10 22:17:43 EST 2013
我记得这个版本的有很多的shell shock漏洞,于是找了个测试脚本检查了一下:

  1. VulnerableCVE-2014-6271

  2. [+] Shells
  3. ------------------------------------
  4.   - Checking shells from /etc/shells
  5.     Result: found 7 shells (valid shells: 7).
  6.     - Session timeout settings/tools [ NONE ]
  7.   - Shellshock: CVE-2014-6271 (original shellshocker) [ WARNING ]
  8.   - Shellshock: CVE-2014-6278 (Florian
好吧,可能是临时的测试系统,问题比较多,就不多纠结了。但是对于PPC架构的操作系统不是很常见,据说当前无法支持CentOS这样的Linux发行版,使用Redhat如果不注册正版安装软件将会非常的不方便。

3、性能测试

说到性能测试就要找个对比才能做比较,正好手头有一台闲置的 aliyun 主机,配置是1G内存、1核CPU,准备用来做对比:

首先是这次PPC架构的虚拟主机配置非常高,具有8个逻辑核心,2G的内存。比较郁闷人的是,因为是redhat的官方系统,没有注册的前提下 yum 源是不能正常使用的,倒是可以到这个位置手动下载一些软件:


上面提供的正好是PPC的软件,能够正常的安装和使用


使用软件测试比较麻烦,还好shell是通用的,于是用下面的脚本测试了下CPU和I/O性能:

  1. cname=$(cat /proc/cpuinfo|grep name|head -1|awk '{ $1=$2=$3=""; print }')
  2. cores=$(cat /proc/cpuinfo|grep MHz|wc -l)
  3. freq=$(cat /proc/cpuinfo|grep MHz|head -1|awk '{ print $4 }')
  4. tram=$(free -m | awk 'NR==2'|awk '{ print $2 }')
  5. swap=$(free -m | awk 'NR==4'| awk '{ print $2 }')
  6. up=$(uptime|awk '{ $1=$2=$(NF-6)=$(NF-5)=$(NF-4)=$(NF-3)=$(NF-2)=$(NF-1)=$NF=""; print }')
  7. cache=$((wget -O /dev/null http://cachefly.cachefly.net/100mb.test) 2>&1 | tail -2 | head -1 | awk '{print $3 $4 }')
  8. io=$( (dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync &&rm -f test_$$) 2>&1 | tail -1| awk '{ print $(NF-1) $NF }')
  9. echo "CPU model : $cname"
  10. echo "Number of cores : $cores"
  11. echo "CPU frequency : $freq MHz"
  12. echo "Total amount of ram : $tram MB"
  13. echo "Total amount of swap : $swap MB"
  14. echo "System uptime : $up"
  15. echo "Download speed : $cache "
  16. echo "I/O speed : $io"
下面是aliyun和IBM PPC得到的结果:

  1. CPU model : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
  2. Number of cores : 1
  3. CPU frequency : 2600.044 MHz
  4. Total amount of ram : 1000 MB
  5. Total amount of swap : 2047 MB
  6. System uptime : 2 days, 19:25,
  7. Download speed : (2.22MB/s)
  8. I/O speed : 41.4MB/s


  9. CPU model :
  10. Number of cores : 8
  11. CPU frequency : MHz
  12. Total amount of ram : 4034 MB
  13. Total amount of swap : 1023 MB
  14. System uptime : 14 days, 2:26,
  15. Download speed : (215KB/s)
  16. I/O speed : 142MB/s
自己再写了一个脚本,再次进行测试,分别是不同大小Block的磁盘的写速度:
(PC是普通的蓝盘 7200转 3.5英寸)

  1. #!/bin/sh

  2. start=$(date +%s.%N)
  3. dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
  4. end=$(date +%s.%N)
  5. duration=$(echo $start $end | awk '{print $2-$1}')
  6. echo "bs=1024 cost $duration \n"

  7. start=$(date +%s.%N)
  8. dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
  9. end=$(date +%s.%N)
  10. duration=$(echo $start $end | awk '{print $2-$1}')
  11. echo "bs=1024 cost $duration \n"

  12. start=$(date +%s.%N)
  13. dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
  14. end=$(date +%s.%N)
  15. duration=$(echo $start $end | awk '{print $2-$1}')
  16. echo "bs=1024 cost $duration \n"

  17. start=$(date +%s.%N)
  18. dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
  19. end=$(date +%s.%N)
  20. duration=$(echo $start $end | awk '{print $2-$1}')
  21. echo "bs=1024 cost $duration \n"
测试结果见下表:


IBM的磁盘写性能比起普通硬盘的aliyun还是要高很多的

闲着无趣,直接写了个 100 万次循环的脚本查看下运行时间:

  1. #!/bin/sh

  2. start=$(date +%s.%N)
  3. i=1
  4. while test $i -lt 1000000 ;do
  5.         i=$(($i+1))
  6. done
  7. end=$(date +%s.%N)
  8. echo $start $end | awk '{print $2-$1}'

执行脚本速度,IBM的明显要慢于aliyun的主机



这个IBM小主机还有一点比较好的是,服务器的 LAMP 环境是齐全的,所以可以使用 PHP 探针进行系统检测,说干就干,准备好了工具,然后查看下效果:



进行了对应的CPU测试,结果如下图所示:



测试的同时采用top工具查看下CPU的占用情况,可以看出这个脚本测试无法完全跑满CPU,特别是具有8个逻辑核心IBM主机,所以结果应该存在偏差,上面的测试仅做参考。

整体来说,个人感觉IBM的PPC主机在I/O上对阿里云有明显优势,但是网络虚拟化配置不如已经商业化很久的阿里云至于性能方面,当前测试结果来言IBM对阿里没有什么优势在软件方面PPC架构的软件应用生态也需要继续完善,需要支持更多的操作系统才行,仅Redhat无法满足用户的需求。

看样子 PPC 虚拟化还要很长的路要走,随着IBM虚拟化主机的加入,消费者将会获得更廉价更优质的服务。

最后附上安装 dedora yum 源的简要过程:
发现手动下载的包还是可以自己通过rpm工具进行安装的,相对其他能够使用各种包管理的系统要麻烦很多。
  1. [root@t6 ~]# wget http://dl.fedoraproject.org/pub/epel/7/ppc64/e/epel-release-7-5.noarch.rpm
  2. --2015-04-01 05:25:33-- http://dl.fedoraproject.org/pub/epel/7/ppc64/e/epel-release-7-5.noarch.rpm
  3. Resolving dl.fedoraproject.org... 209.132.181.25, 209.132.181.26, 209.132.181.27, ...
  4. Connecting to dl.fedoraproject.org|209.132.181.25|:80... connected.
  5. HTTP request sent, awaiting response... 200 OK
  6. Length: 14524 (14K) [application/x-rpm]
  7. Saving to: “epel-release-7-5.noarch.rpm”

  8. yum install epel-release-7-5.noarch.rpm
  9. Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
  10. This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
  11. Advance_Toolchain | 1.1 kB 00:00
  12. IBM_Power_SDK_Tools | 2.5 kB 00:00
  13. IBM_Power_Tools | 2.5 kB 00:00
  14. ibmit-base | 951 B 00:00 ...
  15. Setting up Install Process
  16. Examining epel-release-7-5.noarch.rpm: epel-release-7-5.noarch
  17. Marking epel-release-7-5.noarch.rpm to be installed
  18. Resolving Dependencies
  19. --> Running transaction check
  20. ---> Package epel-release.noarch 0:7-5 will be installed
  21. --> Finished Dependency Resolution

  22. 安装后之后配置一下repo库就应该可以使用 yum 包管理工具自动管理包了。





上一篇:315 无线网络没有密码不安全?
下一篇:一个黑客挖矿脚本的分析