微軟 Azure 伺服器最新測評資訊(第一次測試)

2022-06-28 03:42:12 字數 2543 閱讀 1346

測試資訊:

本次使用的是微軟 標準 b1ms 配置,1 vcpu,2 gib 記憶體, 35 gb 的 ssd 磁碟 (500 iops),伺服器的位置在美國東部。

作業系統資訊:

$ cat /etc/os-release

pretty_name="

debian gnu/linux 10 (buster)

"name="

debian gnu/linux

"version_id="10"

version="

10 (buster)

"version_codename=buster

id=debian

home_url="

"support_url="

support

"bug_report_url="

"

cpu測試:

當前測試程式僅會使用乙個核心的 cpu,可以認為是測試伺服器單核的效能。

計算相同的資料量:耗時越短越好。

因為使用的是 microsoft azure gen 1 代 的cpu,所以效能較弱一些。中間有乙個跳躍可能是主機管理程式增加了 cpu 的權重,導致後面的耗時變小一些。

記憶體測試:

記憶體的測試指標:

測試結果的絕對值意義不大,應該對比測試結果。

微軟 azure 雲伺服器的 記憶體效能一般,跟別的商家沒有特別大的差距(可能大廠商的伺服器配置都差不多)。

磁碟測試:

磁碟測試使用的塊大小為 4kb。

測試專案

讀取耗時:

(單位:s)

寫入耗時:

(單位:s)

讀取速度:

(單位:mb/s)

寫入速度:

(單位:mb/s)

順序讀寫

153.72

143.97

26.65

28.45

順序重讀寫

153.82

143.88

26.63

28.47

跳躍讀寫

401.03

903.80

10.21

4.53

隨機讀寫

704.76

902.45

5.81

4.54

倒序讀寫

667.65

143.86

6.13

28.47

因為 微軟 azure 限制了 磁碟 的 iops(最低保證只有 500 iops),所以這裡的測試結果展示磁碟效能比較差一點兒也不奇怪。

如果需要更高的 iops 則需要購買。

sqlite 測試:

測試專案

測試耗時

(單位: s)

每秒事務數量

(tps)

順序讀75.0

1,333.2

隨機讀182.5

548.0

跳躍讀50.1

1,995.9

順序寫入

1,107.9

90.3

順序更新

1,376.9

72.6

順序刪除

901.3

110.9

隨機更新

1,676.2

59.7

因為 microsoft azure 的磁碟 iops 比較低,因此 sqlite 每秒事務數量完成的比較少也很正常,如果需要執行資料庫,那麼需要付出更高的價錢來購買磁碟 iops。

如果您需要使用資料庫,則應該考慮 microsoft azure 的資料庫託管服務,不應該直接在虛擬機器中執行資料庫。

ping 測試:

中國大陸以外的區域網路延遲很好(30ms以下),看來大廠還是具有資本的優勢。

這兒沒有中國大陸的 ping 是因為 伺服器在美國中部,沒有獲取到可以測試的中國 ip 位址。

網路測試:

上傳中國大陸

0.00.0

其他地區

210.1m

43.7m

因為沒有獲取到中國大陸的測試伺服器,所以沒有中國大陸伺服器的測試結果。

非中國大陸地區的網路速度很好,尤其是上傳速度,超過了 300mbps。

總結:微軟 azure 雲伺服器作為全球第二大的雲服務提供商,他們的目標客戶是大、中型企業、**部門,對於個人使用者來說不是特別划算,**比較高,而且 azure 在中國大陸也不是由微軟官方運營,而是交給了**商(世紀互聯)。

參考資料:

微軟最新的Web伺服器Katana發布了版本3

howard dierking 圖 1 http 請求的必需環境字典鍵 圖 2 katana 專案體系結構 圖 3 katana 中資料流的示例 圖 4 visual studio 2013 preview 中的新 asp.net web 應用程式專案 public class homemodule...

搭建 webrtc 信令伺服器

在ubuntu linux 安裝的具體步驟也很簡單 1 安裝需要的庫檔案 sudo apt get install nodejs sudo npm install g npmsudo apt get install nodejs legacysudo npm g install grunt clin...

手寫微信群聊伺服器

1.能夠連線多個客戶端 2.客戶端長時間未響應能夠斷開節省資源 3.能夠 乙個使用者發來一條訊息,所有客戶端都可以接收 直接使用socket.socket類就可以實現,但是這樣的話我們需要自己手動寫監聽,寫accept,把accept單獨放入乙個執行緒,每連入乙個執行緒就新開闢乙個執行緒。這裡我們選...