樹莓派4B已經發布一年多了,8G內存版本也發布了半年了。樹莓派 Pi 4B架構中不僅將網絡適配器與USB總線分離,而且開始支持USB 3.0,其理論上可以比USB 2.0快10倍。
USB 3.0帶來了UASP和TRIM技術可以彌補樹莓派沒有內置硬碟存儲方面的缺點。本文我們參考Jeff Geerling的測試,來看看樹莓派4B USB性能和UASP和TRIM支持的情況。
概述
為了測試樹莓派4B USB3.0的性能,Jeff Geerling測試了常見的一些產品,包括:
金士頓120GB SSD,帶有XPG SX6000 128GB NVMe的TDBT M.2 enclosure,海盜船Flash Voyager GTX 128GB ,Arcanite 128GB USB 3.1 快閃記憶體,閃迪 Ultra Flair 16GB USB 3.0 快閃記憶體,閃迪 Ultra Fit 128GB USB 3.0快閃記憶體,三星Evo+ 32GB microSD
UASP支持
USAP是USB-IF制定的USB接口全新傳輸協議,USAP可以讓大容量儲存設備的傳輸速度提高20%,並降低CPU的利用率、數據延遲和等待時間。UASP技術可以讓Raspberry Pi使用SCSI協議與驅動器進行通信,其文件複製和磁碟性能的速度是舊版協議的兩倍。可以使用lsusb -t命令檢查驅動器是否支持UASP:
如果輸出顯示"uas",則表示該產品開箱即用。
如果顯示"usb-storage",則表示不支持。
下面我們列出了測試的設備對UASP的支持。
基準測試中,比較快的設備都支持是支持UASP,比較慢的都不支持。那裡沒有什麼大的驚喜。需要提及的,Arcanite設備儘管不支持UASP,性價比更好。
性能測試
啟動性能
測量啟動時間時最重要的事情是找到一種使用客觀測量方法比較不同設備的方法。為了測試不過usb設備下樹莓派的啟動時間,測試中樹莓派 OS中使用了一個內置工具,稱為systemd-analyze。用該工具可以幫助分析系統,默認情況下如果運行該命令,會輸出引導系統需要時間。
對每個驅動器執行了三次操作,並對結果取平均值:
所有的驅動器性能表現都很好,儘管非UASP驅動器的確速度較慢。啟動最慢的是SanDisk Ultra Fit,還會有過熱和速度緩慢下降的問題。
啟動的2020年8月版的Rasbperry Pi OS,並配置了USB驅動器,使其能夠啟動Pi。其次,似乎Pi已經很好地優化了其啟動性能。在測試的所有USB驅動器上,首次啟動總會慢一些,但隨後的啟動大約需要15-17秒。最大的不同是,在速度更快的SSD和NVMe驅動器上的首次啟動速度要快得多,而在廉價快閃記憶體驅動器和microSD卡上的啟動速度要慢一些。
瀏覽器啟動時間
還測試了從命令行測試Web瀏覽器的啟動時間。測試了從命令行啟動Chromium,加載網頁然後退出的方法,並獲得了該過程的準確時間度量。過程使用了一個名為puppeteer的簡潔Node.js實用程序,可以用來自動完成所有操作。在Linux中使用該程序對每個驅動器進行3次基準測試。結果如下:
結果顯示的差別實際上並沒有那麼大。更快的驅動器打開Chromium的速度仍然要快一點(尤其是在首次啟動時),顯示優勢並不明顯。
通過VNC連接測試了所有這些Pi,解析度設置raspi-config為1280x720。就像啟動時間一樣,重新啟動後瀏覽器的首次啟動要比第二,第三,第四或第五次啟動花費更長的時間。這意味著Linux的緩存機制擅長標準化引導性能,即使啟動速度非常慢,只要有足夠的系統內存。
第二次啟動後,退出並重新啟動Chrome後,最慢的驅動器和NVMe驅動器之間的任務差異幾乎是無法察覺的。
在某些方面,尤其是進行升級,安裝軟體,編寫文件或從事大型項目時,兩者之間的差異更加明顯。
為了測試這一點,Jeff Geerling在php7.3-cli在每個驅動器上進行了安裝,並檢查了花費的時間:
與其他性能測試一樣,這不是最一致的。在某些驅動器上運行了幾次,重新刷新兩次運行之間的整個驅動器,並且標準偏差(兩次運行之間的差異)通常為20%左右。
一般而言,更快的驅動器那樣做的更好,但它是硬標杆真實世界的工作負載時得到確切的數字。
TRIM支持
使用SSD,當刪除少量數據,並且需要將新數據寫入這些舊刪除的位置時,驅動器可能會變慢,並且執行的工作量超出其應有的水平。
這是一個非常簡單的答案,但基本上可以將其視為SSD的"自動碎片整理"。從技術上講,TRIM不會進行碎片整理,但它的相似之處在於,它可以讓SSD通過一些自動清理過程發揮最佳性能。
困難的是,必須在作業系統(在本例中為Raspberry Pi OS(確實支持TRIM))和驅動器控制器的固件中都具有TRIM支持。
有幾種檢查TRIM支持的方法,例如fstrim命令:
sudo fstrim -v /
如果顯示the discard operation is not supported,則TRIM當前設備不支持TRIM。。
也可以運行以下lsblk命令:
lsblk -D
如果該DISC-MAX值為0B,則再次說明當前設備不支持TRIM。某些驅動器控制器可能還需要更新固件以啟用TRIM支持,因此請訪問驅動器製造商的網站。測試設備對TRIM的支持情況:
令人驚訝的是,Inatech似乎並不支持TRIM,而TDBT NVMe和海盜船卻支持。
而且, 樹莓派的MicroSD卡對TRIM支持卻是開箱即用。
總結
最後,在我測試的所有設備都有很多不同的特性,無論是正面的還是負面的。如果只需要一個設備來存儲大文件,即使它不支持UASP,Arcanite是最佳的整體價值,如果需要啟用TRIM,則可能會有問題。
而且,如果追求原始性能,則TDBT M.2 enclosure NVMe是性能最好的,而且能全面支持TRIM和UASP。
最後,如果有任何USB 3.0設備(廉價快閃記憶體驅動器之外),它性能可能會比樹莓派4B的microSD卡好。