先来说说为什么会有这篇文章吧。从朋友那里搞来个Windows Azure CN的测试帐号,在公司的时候领导的朋友有一个阿里云的服务器,平时部署小东西都往上面丢,不过那是人家的东西,还有其他的应用跑在上面,不敢随便折腾。这次有了这个测试服务器,总算可以测试一下云主机的性能如何了。不过我不是专门搞测试的,所以也就有了标题中的“超业余”了。不过虽然比较业余,但是也能作为大家选择云主机的一个基本参考了。


虚拟机环境介绍

测试帐号是免费试用的,所以当然就有一定限制,不能用太牛的虚拟机,我这里用的是A6(4核,28G内存)。其实单单看内存已经感觉很牛了。

操作系统原先用的是Windows Server 2012 R2 DataCenter,但是我的磁盘测试软件在WIN8风格的窗体布局下有些显示不全的BUG,所以后来我换用了Windows Server 2008 R2 SP1。因此以下的部分截图有些是在2012上截的,有些是在2008R2上截的,不过并不影响测试数据,硬件配置我选的都是一样的。


CPU性能测试

看着貌似很强大的虚拟机,4核28G内存,碉堡了有木有。让我来好好看看他的实际性能。

SuperPI 32M运算测试

这里用经典的SuperPI跑了一下32M,只跑了一个,测试了一下单核心性能,多核心以此类推,我就不开4个了。可以看出性能真的不怎么的,不知道是免费试用阶段给的CPU资源不给力还是怎么的,单核心性能基本上只有我的E3 1230 V2的大约三分之一到四分之一之间。大家可以跑一下SuperPI试试看,不用跑32M,100万位的话在我的E3 1230 V2上需要10秒,在云机上需要36秒。看着这个性能瞬间心都凉了,不过我还是继续测试下去吧。

AIDA64 GPGPU测试

这个测试其实用来跑显卡的,但是附带的CPU测试也能跑跑试试看性能。可以看出CPU性能虽然让我心凉了,不知道是加了限制还是什么的,反正就是太不给力了,不过内存这里看上去数据还不错,基本上是双通道DDR3差不多的实力,没缩水。既然这样那么就让我测CPU的同时顺便测试一下内存吧。

AIDA64 缓存与内存测试

可以看出内存这块基本上没缩水,比起CPU单核性能来说良心的多了。

Prime95 Blend测试

这里采用Blend测试,4根线程一起来。可以看出我从25号跑到了27号,接近60个小时左右,作为一台服务器的稳定性要求来说要被Blend跑死几乎是不可能的了,就算单核性能不给力,至少在稳定性这点上还是可以放心的。


磁盘性能测试

系统默认安装好之后有2个磁盘,一块100多G的系统磁盘,一块接近300G的临时磁盘。系统盘是用来放系统的,临时盘用来放虚拟内存之类的东西。除此之外还可以另外挂载附加数据磁盘,我挂了一块1TB的附加数据磁盘。让我对这几个磁盘性能都测试一遍。

HD Tune 基准读取

这3张图分别是系统磁盘,附加数据磁盘,临时盘。随后所有的测试图片都会按照这个顺序,之后我就不再冗述了。

可以看出系统磁盘和附加数据磁盘应该是属于同一类型的,性能没差多少。但是临时盘的性能就好的多了,估计因为是拿来放虚拟内存的,所以为了不造成瓶颈,给的性能特别给力,有可能是SSD或者内存盘之类的东西。

另外要说明一点,虽然我只放了这几张图,但是其实我测试过多次。每次都会有偏差,而且不是一点点,估计和他们的平衡算法有关系,我这里只给出比较在平均范围内的一组图片。

HD Tune 文件基准

系统盘和附加数据磁盘看着有点奇葩,但是考虑到云上平衡算法的干涉其实也还算正常。临时盘的性能仍旧丧心病狂。

HD Tune 随机读取

附加数据磁盘比起系统盘几乎翻了一倍的数字。临时盘继续开挂我就不说了。

HD Tune 附加读取

附加数据磁盘比起系统盘几乎翻了一倍的数字。随后我会用AIDA64进行更漫长的测试来验证。不过临时盘你仍旧那么碉,你爸妈知道吗?虽然突发速率在这张图上莫名其妙的降低的有点严重。


AIDA64 ReadTestSuite

ReadTestSuite的测试时间还是比较短的,有可能存在平衡算法的误差,系统盘和附加数据磁盘和用HD Tune测试的时候差不多感觉。接下来的几个测试都是测试时间比较长的,应该可以作为比较靠谱的评测结果了。临时盘我就不说你什么了,你快已经是全宇宙皆知的了..............

AIDA64 LinearRead

你们看上面的时间就知道我跑了很久了,基本上可以忽略掉平衡算法了。附加数据磁盘的线型读取性能几乎是系统磁盘的2倍,但是可以看出系统磁盘的BlockSize是128KB,而附加数据磁盘是8M。这个BlockSize我是设置为AUTO自动判断的,不知道是否由于这个原因造成的。临时盘我就不说你什么了。

AIDA64 RandomRead

在随机读测试中,系统盘和附加数据磁盘的性能几乎相同,而且这里都是使用的64KB的BlockSize,应该算是比较公正的了。临时盘我能把你拆了带回家吗?

AIDA64 BufferedRead

这个测试会反复读取同一块磁盘区域以测试缓存性能。可以看出系统盘和附加数据磁盘都给出了很好的成绩,并且几乎相同。但是临时盘却突然间不知道为什么不给力了。我刚还说要把你拆回去你就吓成这样了吗?

AIDA64 AverageReadAccess

在这个测试中,可以看出附加数据磁盘比系统盘的延迟要好,测试时间也足够了,应该算是比较靠谱的一个结果了。临时盘又一次开挂了.................

磁盘测试简要总结

临时盘的快我就不说什么了,放虚拟内存绝对放心。系统盘和附加数据磁盘在某些地方几乎打成平手,不过某些项目附加数据磁盘几乎是系统盘的2倍。云机上会平衡各个虚拟磁盘,所以短时间的测试有可能存在一定偏差。但是AIDA64的后面几个测试都是挺费时间的,应该可以作为参考标准了。


数据库性能测试

这个本来没打算放在这里的,不过既然我随便测试过了那么就一起丢上来吧。

Windows Azure上的MSSQL也是分性能级别的,我这里用的是一台STANDARD的,性能级别是S1(15DTU),看资料上说这个性能级别的是每分钟283个事务。

MSSQL我这里虽然有性能测试软件,不过貌似不兼容云上的这台2014的。那么就随便插入100万条数据然后SELECT一下看看吧,不要在意细节,说了我是业余的了嘛。(^-^)

测试表结构如下:

 CREATE TABLE [dbo].[TestTable] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Title] NVARCHAR (50) NULL,
[Num] INT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);

100万行的测试数据插入脚本如下:

 WITH Seq ([Title], [Num]) AS
(SELECT N'测试插入数据',1
UNION ALL
SELECT N'测试插入数据',num + 1
FROM Seq
WHERE num < 500000)
INSERT INTO [dbo].[TestTable] ([Title], [Num])
SELECT [Title], [Num]
FROM Seq
OPTION (MAXRECURSION 0)
GO WITH Seq ([Title], [Num]) AS
(SELECT N'测试插入数据 他喵的',1
UNION ALL
SELECT N'测试插入数据 他喵的',num + 1
FROM Seq
WHERE num < 500000)
INSERT INTO [dbo].[TestTable] ([Title], [Num])
SELECT [Title], [Num]
FROM Seq
OPTION (MAXRECURSION 0)
GO

插入这100万行总共用了大约740秒。

随后查询一下试试看性能

查询了一下,用了大约10秒钟。


总结

虽然我测试的很业余,不过基本上还是可以看出大致的性能了。磁盘和内存性能基本上够用,CPU真的很不给力,不知道是不是免费试用加了限制。数据库性能就看你跑的应用有多大规模才够用了,这是我现在免费状况下能够拿到的最好的测试机了。

Windows Azure CN 超业余性能测试的更多相关文章

  1. Windows Azure HandBook (8) Azure性能测试(1)

    <Windows Azure Platform 系列文章目录> 我们在项目上线之前,常常需要对部署在微软云上的应用软件做压力测试. 一般的压力测试,常常在本地计算机安装压力测试软件 (比如 ...

  2. Windows Azure HandBook (9) Azure性能测试(2)

    <Windows Azure Platform 系列文章目录> 在上一节中,笔者介绍了我们在Azure性能测试之前,首先需要提交<渗透性测试表> Windows Azure H ...

  3. 微软公有云Windows Azure 2014-03-26 国内正式商用

    新浪科技讯 3月27日早间消息,微软国昨天下午宣布由世纪互联负责运营的Microsoft Azure公有云服务正式商用.这是国内首个正式商用的国际公有云服务平台.而开正式开放商用,意味着任何企业现在都 ...

  4. 了解 Windows Azure 存储计费 – 带宽、事务和容量

     我们收到关于如何估算 Windows Azure存储成本,以便了解如何更好地构建一个经济有效的应用程序的问题.在本文中,我们将从带宽.事务和容量这三种存储成本的角度探讨这一问题. 使用 Wind ...

  5. Windows Azure Storage (20) 使用Azure File实现共享文件夹

    <Windows Azure Platform 系列文章目录> Update 2016-4-14.在Azure VM配置FTP和IIS,请参考: http://blogs.iis.net/ ...

  6. Windows Azure Storage (21) 使用AzCopy工具,加快Azure Storage传输速度

    <Windows Azure Platform 系列文章目录> Update 2016-09-28 想要在Azure云端,使用AzCopy工具,从Azure China 上海数据中心存储账 ...

  7. Windows Azure Storage (22) Azure Storage如何支持多级目录

    <Windows Azure Platform 系列文章目录> 熟悉Azure平台的读者都知道,Azure Blob有三层架构.如下图:(注意blob.core.chinacloudapi ...

  8. Windows Azure Storage (23) 计算Azure VHD实际使用容量

    <Windows Azure Platform 系列文章目录> 对于A系列和D系列的虚拟机来说,使用的是普通存储. 普通存储的存储资源,是按照每GB每月计费的.Microsoft Azur ...

  9. 跟我学Windows Azure 三 使用vs2013创建windows azure web site

    首先我们需要登陆我们的windows azure上,然后访问 https://manage.windowsazure.cn/publishsettings/index 他会让我们下载我们的订阅证书文件 ...

随机推荐

  1. C#之第五单元的项目打印购物单

    人生的坚持,学习的坚持,尽管遭遇困苦,但是我们却能在一次次的苦难中成长,重新爬起来.这就是奋斗的人生.就是挥洒自己青春,汗水的有意义,有价值的生活.而,我虽然在平凡的人群中不起眼,可是每个人却闪耀着自 ...

  2. 七个结构模式之桥接模式(Bridge Pattern)

    问题: 当存在多个独立的变化维度时,如果仍采用多层继承结构,会急剧的增加类的个数,因此可以考虑将各个维度分类,使他们不相互影响. 定义: 将抽象部分与它的实现部分进行分离,抽象部分只保留最为本质的部分 ...

  3. jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式(jquery.validate.unobtrusive.js)

    最近在学习asp.netMVC,发现其中的验证方式书写方便快捷,应用简单,易学好懂. 验证方式基于jQuery的validate 验证方式,也可以说是对jQuery validate的验证方式的扩展, ...

  4. java1.8的默认方法的坑

    默认方法: 接口的方法一直都是抽象方法,自从1.8出来了之后,新增了一个默认方法.可以在接口中实现方法 1.默认方法需要用default修饰 2.默认方法不能是静态的 3.子接口继承了2个相同签名的默 ...

  5. 基于软件开源实践(FLOSS)论共产主义的可实现性

    好久没发博客,来个狠的,我不信挨踢界有人比我更蛋疼来研究这个. 在马克思提出共产主义100多百年后,软件开发领域中出现了一种特别的生产方式:开源(FLOSS:Free/Libre and Open S ...

  6. Plyr – 简单,灵活的 HTML5 媒体播放器

    Plyr 是一个简单的 HTML5 媒体播放器,包含自定义的控制选项和 WebVTT 字幕.它是只支持现代浏览器,轻量,方便和可定制的媒体播放器.还有的标题和屏幕阅读器的全面支持. 在线演示      ...

  7. ruby(&gem) koala安装

    1.ruby下载安装 下载地址:http://railsinstaller.org/en 选择合适版本 2.gem(安装ruby时自带gem) 删除原镜像:gem sources --remove h ...

  8. jQuery静态方法type使用和源码分析

    jQuery.type方法是检测数据类型的工具方法,在分析其用法之前先总结下js给我们提供了那些监测数据类型的方法: 一.typeof 操作符 下面是测试代码 var data=[],a='123', ...

  9. HTML 文本格式化实例

    一,文本格式化:此例演示如何在一个 HTML 文件中对文本进行格式化. <html> <body> <b>This text is bold</b> & ...

  10. iOS 正则 检测是否为手机号

    - (BOOL)validateMobile:(NSString *)mobileNum { NSString *regex = @"^1[3|5|7|8][0-9]\\d{8}$" ...