[創意料理] 僅供參考的 SQL Server 2016 vs SQL Server on Linux 不負責任效能評比

我在 2016/11/17 這天收到 Microsoft SQL Server Team 寄的一封信 Email,第一句話就說「The public preview of SQL Server on Linux has arrived!」,當天我就把 SQL Server 裝在 CentOS 7 上,但是我心中有個疑問「在 Linux 上的 SQL Server 會不會只是個玩具?」

我對效能評測這種事情沒那麼非常在行,因此借助了一個 Open Source 的工具 - HammerDB,來對 SQL Server on Linux(14.0.1.246)及 SQL Server 2016 SP1(13.0.4001)做 TPC-C 的數據測量。

關於 HammerDB 的使用方式,我記錄在這篇,有興趣的朋友可以看看。

實驗環境

  • Hyper-V VM:2 CPU Cores、4 GB RAM
  • OS:CentOS 7 1511 vs Windows Server 2012 R2
  • Test Tool:HammerDB 2.21 64-bit
  • Test Method:TPC-C
  • Test Case:3 Warehouses、2 Virtual Users、1 Minute of Rampup Time、3 Minutes of Test Duration
  • Test Iterations:5

跑測試的時機都是在 OS 以及 SQL Server 剛安裝完畢的預設環境之下,除了透通防火牆之外,並沒有做任何額外的設定,而為了儘量確保大家的起跑點是一樣的,在 Build 完 Schema 之後會 Reboot VM。

實驗結果

SQL Server 2016 SP1 面對來勢洶洶的 SQL Server on Linux 也沒在怕的,平均的 NOPM 硬是比 SQL Server on Linux 多了 2588.6,而 SQL Server on Linux 雖然還未成熟,還有一堆 unsupported features,但也只落後 22.58% 而已,距離算是拉得蠻近的,已經足以武裝上場殺敵了,看來 SQL Server on Linux 是玩真的。

相關資源

C# 指南
ASP.NET 教學
ASP.NET MVC 指引
Azure SQL Database 教學
SQL Server 教學
Xamarin.Forms 教學