Linux 下 SCSI 子系統效能可透過兩種方式調整:
/etc/modules.conf (或 /etc/modprobe.d/) 模組選項測試工具:hdparm -Tt /dev/sdX 量測緩衝區讀取與磁碟讀取速度。
# cat /proc/scsi/sbp2/0
SBP-2 module load options:
- Max outstanding commands supported: 8
- Max outstanding commands per lun supported: 1
# hdparm -Tt /dev/sda
Timing buffer-cache reads: 128 MB in 3.99 sec = 32.08 MB/sec
Timing buffered disk reads: 64 MB in 6.86 sec = 9.33 MB/sec
# /etc/modules.conf
alias scsi_hostadapter sbp2
options sbp2 sbp2_max_outstanding_cmds=16 sbp2_max_cmds_per_lun=2
# cat /proc/scsi/sbp2/0
- Max outstanding commands supported: 16
- Max outstanding commands per lun supported: 2
# hdparm -Tt /dev/sda
Timing buffer-cache reads: 128 MB in 4.03 sec = 35.36 MB/sec
Timing buffered disk reads: 64 MB in 6.04 sec = 11.25 MB/sec
max_outstanding_cmds 至 255 後發現 16 為效能峰值,更高反而無益| 參數 | 說明 | 建議範圍 |
|---|---|---|
| max_sectors | 單次 I/O 最大扇區數 | 256-1024 (視控制器) |
| cmd_per_lun | 每 LUN 佇列深度 | 8-32 |
| tagged_command_queueing | 啟用 TCQ/NCQ | 1 (啟用) |
| scsi_mod.use_blk_mq | 啟用 blk-mq 多佇列 (Kernel 3.13+) | Y |