先來講說爲何會有這篇文章吧。從朋友那裏搞來個Windows Azure CN的測試賬號,在公司的時候領導的朋友有一個阿里雲的服務器,平時部署小東西都往上面丟,不過那是人家的東西,還有其餘的應用跑在上面,不敢隨便折騰。此次有了這個測試服務器,總算能夠測試一下雲主機的性能如何了。不過我不是專門搞測試的,因此也就有了標題中的「超業餘」了。不過雖然比較業餘,可是也能做爲你們選擇雲主機的一個基本參考了。算法
測試賬號是免費試用的,因此固然就有必定限制,不能用太牛的虛擬機,我這裏用的是A6(4核,28G內存)。其實單單看內存已經感受很牛了。數據庫
操做系統原先用的是Windows Server 2012 R2 DataCenter,可是個人磁盤測試軟件在WIN8風格的窗體佈局下有些顯示不全的BUG,因此後來我換用了Windows Server 2008 R2 SP1。所以如下的部分截圖有些是在2012上截的,有些是在2008R2上截的,不過並不影響測試數據,硬件配置我選的都是同樣的。緩存
看着貌似很強大的虛擬機,4核28G內存,碉堡了有木有。讓我來好好看看他的實際性能。服務器
這裏用經典的SuperPI跑了一下32M,只跑了一個,測試了一下單核心性能,多核心以此類推,我就不開4個了。能夠看出性能真的不怎麼的,不知道是免費試用階段給的CPU資源不給力仍是怎麼的,單核心性能基本上只有個人E3 1230 V2的大約三分之一到四分之一之間。你們能夠跑一下SuperPI試試看,不用跑32M,100萬位的話在個人E3 1230 V2上須要10秒,在雲機上須要36秒。看着這個性能瞬間心都涼了,不過我仍是繼續測試下去吧。dom
這個測試其實用來跑顯卡的,可是附帶的CPU測試也能跑跑試試看性能。能夠看出CPU性能雖然讓我心涼了,不知道是加了限制仍是什麼的,反正就是太不給力了,不過內存這裏看上去數據還不錯,基本上是雙通道DDR3差很少的實力,沒縮水。既然這樣那麼就讓我測CPU的同時順便測試一下內存吧。佈局
能夠看出內存這塊基本上沒縮水,比起CPU單核性能來講良心的多了。性能
這裏採用Blend測試,4根線程一塊兒來。能夠看出我從25號跑到了27號,接近60個小時左右,做爲一臺服務器的穩定性要求來講要被Blend跑死幾乎是不可能的了,就算單核性能不給力,至少在穩定性這點上仍是能夠放心的。測試
系統默認安裝好以後有2個磁盤,一塊100多G的系統磁盤,一塊接近300G的臨時磁盤。系統盤是用來放系統的,臨時盤用來放虛擬內存之類的東西。除此以外還能夠另外掛載附加數據磁盤,我掛了一塊1TB的附加數據磁盤。讓我對這幾個磁盤性能都測試一遍。ui
這3張圖分別是系統磁盤,附加數據磁盤,臨時盤。隨後全部的測試圖片都會按照這個順序,以後我就再也不冗述了。阿里雲
能夠看出系統磁盤和附加數據磁盤應該是屬於同一類型的,性能沒差多少。可是臨時盤的性能就好的多了,估計由於是拿來放虛擬內存的,因此爲了避免形成瓶頸,給的性能特別給力,有多是SSD或者內存盤之類的東西。
另外要說明一點,雖然我只放了這幾張圖,可是其實我測試過屢次。每次都會有誤差,並且不是一點點,估計和他們的平衡算法有關係,我這裏只給出比較在平均範圍內的一組圖片。
系統盤和附加數據磁盤看着有點奇葩,可是考慮到雲上平衡算法的干涉其實也還算正常。臨時盤的性能仍舊喪心病狂。
附加數據磁盤比起系統盤幾乎翻了一倍的數字。臨時盤繼續開掛我就不說了。
附加數據磁盤比起系統盤幾乎翻了一倍的數字。隨後我會用AIDA64進行更漫長的測試來驗證。不過臨時盤你仍舊那麼碉,你爸媽知道嗎?雖然突發速率在這張圖上莫名其妙的下降的有點嚴重。
ReadTestSuite的測試時間仍是比較短的,有可能存在平衡算法的偏差,系統盤和附加數據磁盤和用HD Tune測試的時候差很少感受。接下來的幾個測試都是測試時間比較長的,應該能夠做爲比較靠譜的評測結果了。臨時盤我就不說你什麼了,你快已是全宇宙皆知的了..............
大家看上面的時間就知道我跑了好久了,基本上能夠忽略掉平衡算法了。附加數據磁盤的線型讀取性能幾乎是系統磁盤的2倍,可是能夠看出系統磁盤的BlockSize是128KB,而附加數據磁盤是8M。這個BlockSize我是設置爲AUTO自動判斷的,不知道是否因爲這個緣由形成的。臨時盤我就不說你什麼了。
在隨機讀測試中,系統盤和附加數據磁盤的性能幾乎相同,並且這裏都是使用的64KB的BlockSize,應該算是比較公正的了。臨時盤我能把你拆了帶回家嗎?
這個測試會反覆讀取同一塊磁盤區域以測試緩存性能。能夠看出系統盤和附加數據磁盤都給出了很好的成績,而且幾乎相同。可是臨時盤卻忽然間不知道爲何不給力了。我剛還說要把你拆回去你就嚇成這樣了嗎?
在這個測試中,能夠看出附加數據磁盤比系統盤的延遲要好,測試時間也足夠了,應該算是比較靠譜的一個結果了。臨時盤又一次開掛了.................
臨時盤的快我就不說什麼了,放虛擬內存絕對放心。系統盤和附加數據磁盤在某些地方几乎打成平手,不過某些項目附加數據磁盤幾乎是系統盤的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真的很不給力,不知道是否是免費試用加了限制。數據庫性能就看你跑的應用有多大規模纔夠用了,這是我如今免費情況下可以拿到的最好的測試機了。