實戰spdk perf解析

2022-09-23 01:09:09 字數 1985 閱讀 3555

spdk的perf能夠充分展現nvme 的高效能,那麼怎麼讓這個利器發揮作用呢?下面分享了100% 驗證的完整步驟:

****並解決編譯依賴

確定代測試盤的 bdv:比如我要測/dev/nvme6n1, 由於perf需要指定這個裝置對應的pcie的bdf位址,那麼改怎麼確定它呢?[root@test]# ls -alrt /dev/nvme6n1brw-rw---- 1 root disk 259, 0 dec 20 17:26 /dev/nvme6n1[root@test]# cd/sys/dev/block/259:0/device && pwd/sys/dev/block/259:0/device[root@test]# ls -alrttotal 0-rw-r--r-- 1 root root 4096 dec 19 23:05 ueventdrwxr-xr-x 3 root root 0 dec 19 23:05 .lrwxrwxrwx 1 root root 0 dec 19 23:05 subsystem -> ../../../../../../class/nvmedrwxr-xr-x 7 root root 0 dec 19 23:05 nvme6n1drwxr-xr-x 3 root root 0 dec 19 23:05 ..lrwxrwxrwx 1 root root 0 dec 20 21:31 device -> ../../../0000:b1:00.0

載入dpdk huge pagecd /root/spdk-bundle/dpdk/dpdk-16.11/tools./dpdk_setup.sh會看到下面的輸出: step 2: setup linuxapp environment

[16] insert igb uio module[17] insert vfio module[18] insert kni module[19] setup hugepage mappings for non-numa systems[20] setup hugepage mappings for numa systems[21] display current ethernet/crypto device settings[22] bind ethernet/crypto device to igb uio module[23] bind ethernet/crypto device to vfio module[24] setup vfio permissions

step 3: run test application for linuxapp environment

[25] run test application ($rte_target/app/test)[26] run testpmd application in interactive mode ($rte_target/app/testpmd)

step4: other tools

[27] list hugepage info from /proc/meminfo

step 5: uninstall and system cleanup

[28] unbind devices from igb uio or vfio driver[29] remove igb uio module[30] remove vfio module[31] remove kni module[32] remove hugepage mappings

[33] exit script

option: 20建立huge page然後退出。

解除安裝測試盤預設linux 的nvme 驅動cd /root/spdk-bundle/spdk/spdkv1707/scripts為了避免卸掉其他可能正在使用的nvme盤的驅動,參考下面改動直接指定:function linux_iter_pci '

echo "0000:b1:00.0"

}然後:./setup.sh

執行測試:./perf -q 256 -s 512000 -w randwrite -t 36000 -c 0xc -r 'trtype:pcie traddr:b1:00.0' 2>&1 | tee -a nvme_spdk_nvme6.log &

KVO 實戰解析

通過乙個遛狗例子來解析kvo objective c 中的鍵 key 值 value 觀察 kvo 並不是什麼新鮮事物,它 於設計模式中的觀察者模式,其基本思想就是 乙個目標物件管理所有依賴於它的觀察者物件,並在它自身的狀態改變時主動通知觀察者物件。這個主動通知通常是通過呼叫各觀察者物件所提供的介面...

實戰解析 開篇

在思想上兜了一圈,我決定要還是落地走走,否則就可能變成一張大嘴而已。接下來要給大家講解的是我的第乙個大專案 x市動力機房監控,在這個專案中我從乙個畢業生成長為單位的開發骨幹。由於不記得當初的技術保密協議到底是 5年還是 10年,所以出於職業精神,我還是不能把所有專案背景和設計進行介紹,抽取我認為沒有...

命令實戰解析

1 split 按照指定的行數或大小分隔檔案 split option input prefix l 指定行數 split l 10 etc inittab new a 指定生成檔案字尾長度 split l 10 a 4 etc inittab new2 d 使用數字字尾 split l 10 d ...