• Windows Azure CN 超业余性能测试


    先来说说为什么会有这篇文章吧。从朋友那里搞来个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一下看看吧,不要在意细节,说了我是业余的了嘛。(^-^)

    测试表结构如下:

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

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

     1 WITH Seq ([Title], [Num]) AS  
     2 (SELECT N'测试插入数据',1 
     3 UNION ALL  
     4 SELECT N'测试插入数据',num + 1
     5 FROM Seq
     6 WHERE num < 500000)
     7 INSERT INTO [dbo].[TestTable] ([Title], [Num])
     8 SELECT [Title], [Num]
     9 FROM Seq  
    10 OPTION (MAXRECURSION 0)  
    11 GO
    12 
    13 WITH Seq ([Title], [Num]) AS  
    14 (SELECT N'测试插入数据 他喵的',1 
    15 UNION ALL  
    16 SELECT N'测试插入数据 他喵的',num + 1
    17 FROM Seq
    18 WHERE num < 500000)
    19 INSERT INTO [dbo].[TestTable] ([Title], [Num])
    20 SELECT [Title], [Num]
    21 FROM Seq  
    22 OPTION (MAXRECURSION 0)  
    23 GO

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

    随后查询一下试试看性能

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


    总结

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

  • 相关阅读:
    ASP.NET 使用Ajax(转)
    使用Docker,很多坑(之一):在windows中使用
    .NET Core 各种学习资源
    docker-compose.yml配置文件详解(转)
    英雄无敌王国刷将脚本
    Valid format values for declare-styleable/attr tags[转]
    no Session问题,即延迟加载
    适配器模式--Adapter Pattern
    策略模式--Strategy
    装饰模式--Decorator Pattern
  • 原文地址:https://www.cnblogs.com/happycat1988/p/3815938.html
Copyright © 2020-2023  润新知