Synology DS918+ Apollo Lake NAS 實測分享

Synology 2018 大會所最新發表的 DS918+ Apollo Lake 4 bay NAS, 不囉嗦直接開箱.


相關連結
DS718+/DS918+ DTS 影片解碼程式
AES-NI 硬體加密引擎實測 (OpenVPN)
L2TP/IPSEC VPN 效能實測
NVMe SSD Cache 實測
NVMe SSD 溫度實測及散熱片安裝.
線上擴充容量實測
硬碟匣一定要上鎖
DS918+ Photo Station 相片縮圖能力實測
加密資料夾寫入效能實測
以非網管 Switch 實作合併頻寬
線上擴充容量 raid1 to raid5 所需時間.


實用資訊
網友分享 ds918+ 搭 dx510 expansion unit


DS918+ NAS

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

喵咪不是來幫忙開箱的, 她只對紙箱有興趣.
Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

Synology DS918+ Apollo Lake NAS 實測分享

至於機器的內部就不拆了, 因為這台 DS918+ 擴充記憶體也不用拆機, 應該也沒有必要再去看內部的電路了.




DS918+ AES-NI 加密引擎效能實測

DS918+ 採用 Intel Apollo Lake J3455 CPU, 內建 AES-NI 硬體加密引擎, 到底加解密速度有多快? 實測如下:

測試的架構如下, 在 DS918+ 上面安裝 iperf3 server 程式, 以及安裝 VPN Server 套件.
另外在 Windows 10 PC 上安裝 iperf3 client 端測速程式, 並以 OpenVPN 協定連上 DS918+ VPN Server.
中間透過一台 Mikrotik CRS Router 做 NAT.
Synology DS918+ Apollo Lake NAS 實測分享

當 PC 和 DS918+ 透過 gigabit switch 連接時, 測速程式大約測得 939Mbps (接近 gigabit LAN 網路最高速度)
Synology DS918+ Apollo Lake NAS 實測分享

當透過 CRS Router NAT 機置, 未啟用 OpenVPN 下, 連線速率約 900Mbps (可見 CRS Router NAT 效能還蠻高的)
Synology DS918+ Apollo Lake NAS 實測分享

PC端以 OpenVPN AES-256-CBC 加密連上 DS918+ VPN Server, 傳輸效能達到 230Mbps. 硬體加密引擎啟動
Synology DS918+ Apollo Lake NAS 實測分享

SSL VPN 230Mbps 算快嗎? 如果以專業的 Fortigate 80D 為例, 其 SSL VPN throughput 大約 130Mbp, 市售品牌 firewall 萬元以下. 其 SSL VPN 大多也落在 50Mbps 左右.

假設公司的網路採用 300Mbps 雙向線路, 當從 Internet 連上公司的 DS918+ VPN Server, 採用 OpenVPN AES-256-CBC 加密, 其傳輸效能仍能達到 230Mbps 的速度, 大致為此概念. (此條件指測試端兩方的 Internet 頻寬足以負荷的情況下)

在近幾代 NAS 所採用的 CPU, 其 OpenVPN AES-256-CBC 加密的效能比較表.
Synology DS918+ Apollo Lake NAS 實測分享
(註: 圖中 TS-253Pro 僅為對比用, 因手中 NAS 只剩此款 NAS 是無內建 AES-NI 硬體加密引擎.)




M.2 NVMe SSD Cache實測

DS918+ 內建兩個 M.2 NVMe PCIe slot, 可以擴充兩支 2280 SSD 做為快取之用, 在前一代機型如 DS415+ & DS916+, 如果欲加上 SSD cache, 就會佔用到原本 4bay 中的硬碟空間, DS918+ 新款設計能讓 user 完整使用原本的 4 bay 硬碟匣, 如果日後需要提升 NAS 的 I/O 讀寫效能時, 再擴充 M.2 NVMe SSD 即可.

有關於 SSD cache 快取的應用, 對於小弟本身較常使用 soho 等級 NAS 來說, 也是非常新穎的設計, 常常在發表會上專家提到 bandwidth & IOPS, 自己以前大約也只曉得 NAS 在 gigabit LAN 上大約讀取最高可到 100MB/sec, NAS 上面如果有 10G 網路可以大幅提升存取的效能, 那 IOPS 到底是什麼?

SSD cache 主要的用途在於提高隨機存取的 IOPS, 舉個較生活化的例子, 在便利商店店家將較暢銷的商品擺在近結帳櫃台的位置, 方便顧客隨手可取立刻結帳, 以加快商品的銷售速度, 對應到 NAS 檔案存取, 將較常存取的檔案區塊, 放在 SSD cache 中, 以便加速檔案存取, 這就是提高了 IOPS.

那麼回過頭來, 我們可不可以將大量的貨物都堆在櫃台附近, 以方便顧客取貨結帳? 如果你的商店夠大, 店員夠多可能可以這樣做, 但一般實務上我們不會如此, 所以這就是在 SSD cache 上, 我們一般不會針對 '循序i/o" 做 cache 的動作. 什麼是循序I/O? 例如像 copy file, 播放影片這類, 它是 block by block 循序存取檔案, 這樣的行為我們一般不希望它 cache 在 SSD. 因為太浪費系統資源了. 另一方面循序I/O在 NAS 中的存取速度原本就比較快, 並不需要預先 cache.

在 DS916+ 上面安裝上一支 Intel 600P NVMe SSD. 系統視為 '快取裝置'
Synology DS918+ Apollo Lake NAS 實測分享

cache 可設定為 'read/write' or 'read' cache. 在官網有詳盡的說明這兩者的應用場合.
Synology DS918+ Apollo Lake NAS 實測分享

因為我們只裝了一支 NVMe SSD, 只能設定為 read cache.
Synology DS918+ Apollo Lake NAS 實測分享

預設略過循序 I/O. (這前面有解釋)
Synology DS918+ Apollo Lake NAS 實測分享

SSD cache 建立完成.
Synology DS918+ Apollo Lake NAS 實測分享


建立完成後, SSD cache 它是自動針對系統的存取動作去快取, 比較常讀取的區塊自然就會進去 cache. 如上圖會顯示 cache 的使用量. 隨著開機時間愈久, 檔案存取的次數愈多, 那麼就會有愈多資料進入 cache. 那麼 cache hit rate 就會提高. hit rate 提的是當在讀取資料時, 該筆資料在 cache 內, 就算是 hit(命中). 所以 cache 需要時間及資料去慢慢的 '培養' 它, 並不是 cache 建立了, 整體 NAS 的效能馬上就大大提升.

以下為動態即時的 hit rate 顯示.
Synology DS918+ Apollo Lake NAS 實測分享


實測
這裡只是一個簡單的測試, 我們針對 NAS 上面一個 16Gb file, 以程式去模擬隨機存取的動作, 每次讀取 4k block, 連續讀取 10分鐘, 在未啟用 SSD cache 上, 以及啟用 SSD cache 後, 比較其 IOPS.

未啟用 SSD cache:

randread_libaio: (g=2): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=16
randread_libaio: (groupid=2, jobs=1): err= 0: pid=9237: Thu Sep 21 15:24:52 2017
read : io=102172KB, bw=1701.6KB/s, iops=425, runt= 60047msec
slat (usec): min=13, max=30533, avg=22.96, stdev=217.93
clat (usec): min=263, max=410891, avg=37584.71, stdev=30095.99
lat (usec): min=283, max=410905, avg=37608.03, stdev=30094.57
clat percentiles (msec):
| 1.00th=[ 4], 5.00th=[ 6], 10.00th=[ 9], 20.00th=[ 13],
| 30.00th=[ 20], 40.00th=[ 27], 50.00th=[ 35], 60.00th=[ 41],
| 70.00th=[ 47], 80.00th=[ 53], 90.00th=[ 68], 95.00th=[ 88],
| 99.00th=[ 149], 99.50th=[ 190], 99.90th=[ 277], 99.95th=[ 302],
| 99.99th=[ 379]
bw (KB /s): min= 867, max= 1729, per=89.68%, avg=1525.43, stdev=160.33
lat (usec) : 500=0.01%, 750=0.01%, 1000=0.02%
lat (msec) : 2=0.04%, 4=1.83%, 10=12.40%, 20=16.87%, 50=44.40%
lat (msec) : 100=21.22%, 250=3.02%, 500=0.18%
cpu : usr=0.20%, sys=0.98%, ctx=14162, majf=0, minf=24
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=25543/w=0/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=16



啟用 SSD cache:

root@ds918plus:/volume1/video# fio fio2w.conf
randread_libaio: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=16
fio-2.13
Starting 1 process
Jobs: 1 (f=1): [r(1)] [99.7% done] [91984KB/0KB/0KB /s] [22.1K/0/0 iops] [eta 00m:01s]
randread_libaio: (groupid=0, jobs=1): err= 0: pid=20969: Thu Sep 21 15:55:07 2017
read : io=16384MB, bw=42508KB/s, iops=10627, runt=394683msec
slat (usec): min=22, max=74395, avg=39.10, stdev=56.89
clat (usec): min=1, max=453956, avg=1463.19, stdev=7827.75
lat (usec): min=77, max=454059, avg=1502.75, stdev=7830.92
clat percentiles (usec):
| 1.00th=[ 114], 5.00th=[ 126], 10.00th=[ 205], 20.00th=[ 532],
| 30.00th=[ 604], 40.00th=[ 628], 50.00th=[ 644], 60.00th=[ 668],
| 70.00th=[ 676], 80.00th=[ 692], 90.00th=[ 724], 95.00th=[ 772],
| 99.00th=[37632], 99.50th=[54016], 99.90th=[98816], 99.95th=[134144],
| 99.99th=[250880]
bw (KB /s): min= 1808, max=101784, per=100.00%, avg=42536.49, stdev=38713.55
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 50=0.01%, 100=0.01%
lat (usec) : 250=11.62%, 500=7.05%, 750=74.89%, 1000=3.93%
lat (msec) : 2=0.20%, 4=0.06%, 10=0.26%, 20=0.50%, 50=0.88%
lat (msec) : 100=0.52%, 250=0.09%, 500=0.01%
cpu : usr=5.13%, sys=41.92%, ctx=400007, majf=0, minf=26
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=4194304/w=0/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=16


未啟用 SSD cache, IOPS=425
啟用 SSD cache, IOPS=10627

當然這只是一個很簡短的測試, 用一個 16GB file, 在 240GB SSD cache 的情況下, 當讀取時間久了, 它的 hit rate 會愈來愈高, 在現實環境中會隨著檔案數及 cache 容量, 而有不同的表現, 這裡只是實測在 DS918+ 下裝上 NVMe SSD cache, 能有效的提高 IOPS.



BTRFS RAID6 rebuild實測

不少網友關心的議題.

DS918+ 內建 4 Port SATA3 (6Gbps) 界面, 可裝四顆 SATA硬碟 or SSD, 以下以一顆240GB SSD & 三顆 Toshiba 3TB 硬碟, 建立 RAID6 (第一顆採用 240GB SSD 主要是限定建立 240GB*4 RAID6, 縮短實測所需時間), 重建時 M.2 NVMe SSD 設定為停用狀態.


Synology DS918+ Apollo Lake NAS 實測分享

rebuild 每次所需的時間長短, 在同一台機器上也會有差異, 主要是系統會自動根據負載去調節. 換算下來, RAID6 平均的 rebuild 速率大約是 95MB/sec, 這樣的效能算蠻 ok 的.

再次直接將 tray#4 拔出, 再重新插回讓它重新 rebuild. 測出來 RAID6 rebuild 的均速大約在 100MB/sec 左右.
Synology DS918+ Apollo Lake NAS 實測分享

最後我們將第一顆 240GB SSD 抽換為 Toshiba 3TB 硬碟, 進行線上擴充容量及 RAID6 btrfs rebuild 實測, rebuild 加上擴充容量均速為 145MB/sec
Synology DS918+ Apollo Lake NAS 實測分享

附註:
在畫面中的 log 可以看到有兩段 check consistency. 第一段應是 240GB raid6 rebuild. 換算約 100MB/s
第二段才是實際開始擴充容量完成的時間. 145MB/s 為從抽換硬碟從 240GB 更換為 3TB 擴充容量完成後的平均速.


Linux 核心版本及細部資訊

不少 Power User 很關心 NAS 核心版本的議題, 以及 CPU 內建功能等資訊.


Linux 4.4.15 核心版本
root@ds918plus:~# uname -a
Linux ds918plus 4.4.15+ #15152 SMP PREEMPT Thu Aug 24 10:47:27 CST 2017 x86_64 GNU/Linux synology_apollolake_918+


J3455 四核心, 內建 AES-NI 加密引擎
root@ds918plus:~# cat /proc/cpuinfo
processor : 0/1/2/3
vendor_id : GenuineIntel
cpu family : 6
model : 92
model name : Intel(R) Celeron(R) CPU J3455 @ 1.50GHz
stepping : 9
microcode : 0x26
cpu MHz : 1501.000
cache size : 1024 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 21
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch ida arat pln pts dtherm intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdseed smap clflushopt sha_ni xsaveopt xsavec xgetbv1
bugs :
bogomips : 2995.09
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:


RAID6 gen() 預估值
root@ds918plus:~# dmesg | grep raid6
[ 0.480373] raid6: sse2x1 gen() 3437 MB/s
[ 0.501440] raid6: sse2x1 xor() 1970 MB/s
[ 0.522513] raid6: sse2x2 gen() 3753 MB/s
[ 0.543577] raid6: sse2x2 xor() 2361 MB/s
[ 0.564648] raid6: sse2x4 gen() 4300 MB/s
[ 0.585722] raid6: sse2x4 xor() 2267 MB/s
[ 0.590297] raid6: using algorithm sse2x4 gen() 4300 MB/s
[ 0.596313] raid6: .... xor() 2267 MB/s, rmw enabled
[ 0.601849] raid6: using ssse3x2 recovery algorithm
[ 58.986952] md: raid6 personality registered for level 6


root@ds918plus:~# dmesg | grep CPU0
[ 0.169611] smpboot: CPU0: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz (family: 0x6, model: 0x5c, stepping: 0x9)


SATA 傳輸值
root@ds918plus:~# hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 866 MB in 3.01 seconds = 288.17 MB/sec
root@ds918plus:~# hdparm -t /dev/sdb

/dev/sdb:
Timing buffered disk reads: 502 MB in 3.00 seconds = 190.18 MB/sec
root@ds918plus:~# hdparm -t /dev/sdc

/dev/sdc:
Timing buffered disk reads: 576 MB in 3.01 seconds = 191.30 MB/sec
root@ds918plus:~# hdparm -t /dev/sdd

/dev/sdd:
Timing buffered disk reads: 568 MB in 3.01 seconds = 188.87 MB/sec
root@ds918plus:~# hdparm -t /dev/sdb

FB: Pctine
文章關鍵字
先卡個位置

我的今天也收到貨了

晚上回家Setup
digitalhouse wrote:
先卡個位置
我的今天也收到貨了
晚上回家Setup...(恕刪)


感謝分享, 別忘了申請贈送的 4GB RAM.


FB: Pctine


中午收到貨就有mail申請了
pctine wrote:
感謝分享, 別忘了...(恕刪)

pctine wrote:
感謝分享, 別忘了...(恕刪)

卡個位有心動的感覺
想請問10Gbe跟1Gbe的網路卡真的差很多嗎?
家中的網路不是都不到1G?
還是我的觀念哪裡錯誤了,煩請指教
閔哥布丁狗 wrote:
卡個位有心動的感覺
想請問10Gbe跟1Gbe的網路卡真的差很多嗎?
家中的網路不是都不到1G?
..(恕刪)


1Gbps 和 10Gbps 理論值就差了 10 倍, 如果你的 PC client, switch 以及 NAS 都支援 10G, 那麼速度的提升是相當多的. 即使不到10倍, 一般情況下至少也有個5倍的差距.

這是整體網路環境以及 PC & NAS 都要配合才行, 例如在 PC 端可以採用更高速的 SSD 當做儲存空間, 如果使用一般硬碟, 存取效能可能只有 150MB/s, 那麼你必須將 PC 升級為採用更高速的 SSD, 甚至採用 M.2 NVMe 來做為儲存空間.


FB: Pctine
問一下,我還是不太懂加密的功能。

是指hdd被偷走了,別人無法讀出裡面的資料嗎
a9202507 wrote:
問一下,我還是不太懂加密的功能。
是指hdd被偷走了,別人無法讀出裡面的資料嗎...(恕刪)


是的, 加密用在很多地方, 例如 VPN server, 或是共用資料夾加密上, 又或者是 web server 對 https 加密等應用.

如果共用資料夾設定加密, 別人偷走了硬碟也無法讀出其內容, 除非他有 key.
FB: Pctine
pctine wrote:
Synology 2...(恕刪)

9/16上海发布会现场我问过群晖工程师,SSD Cache不能当存储,本来打算当虚拟机存储池的。

old.ghost wrote:
9/16上海发布会现场我问过群晖工程师,SSD Cache不能当存储,本来打算当虚拟机存储池的。...(恕刪)


的確, 現階段的軟體設計是如此.
FB: Pctine
關閉廣告
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 17)

今日熱門文章 網友點擊推薦!