iT邦幫忙

0

想請教Synology NAS ISCSI設定的I/O佇列深度設定差異

  • 分享至 

  • xImage

想請教Synology NAS ISCSI設定的I/O佇列深度設定差異
有打電話去客服問過了,客服端那邊也沒多做解釋,就建議我用預設
小弟對I/O佇列這塊不是很了解,可以順便解釋一下嗎?
這台NAS儲存區是用一般HD,有用SSD 三星860PRO512G 硬碟來做快取
NAS跟HP Server是用40G光纖對接,的環境建置https://ithelp.ithome.com.tw/upload/images/20190918/20118282AfNrIfdBOo.pnghttps://ithelp.ithome.com.tw/upload/images/20190918/20118282J3BBoxmAeD.pnghttps://ithelp.ithome.com.tw/upload/images/20190918/20118282x2zkNpydNQ.pnghttps://ithelp.ithome.com.tw/upload/images/20190918/20118282Da44cJiiWW.pnghttps://ithelp.ithome.com.tw/upload/images/20190918/201182820kqXUEdzbt.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
雷伊
iT邦高手 1 級 ‧ 2019-09-18 15:49:42

簡單來說就是拿硬碟的壽命去換效能,隊列深度預設16的磁碟利用率已達99.52%,所以客服才會建議你用預設值即可,不建議拿NAS來當主要的資料庫存放區,當他韌體死掉的時候尤其是掛載iSCSI的更難救回來。一般而言NAS就只是拿來當異機備份用。

ponton iT邦新手 5 級 ‧ 2019-09-19 08:28:32 檢舉

那我有叢集備份跟異地備份的環境下~可以把陣列深度在往上提高嗎?
那照這個倍率看起來如果陣列深度調整到64或是128不就可以把硬碟現有的99.52%利用率提高4~8倍?我的理解不知道是不是對的

雷伊 iT邦高手 1 級 ‧ 2019-09-19 10:05:56 檢舉

利用率有點像本來尾速120的競戰花1萬元改車尾速還是120,但整體的加速度變快,你若將數值設太高,會造成反效果。
https://blog.51cto.com/stripe/1341678

ponton iT邦新手 5 級 ‧ 2019-09-20 23:23:20 檢舉

感謝大大回覆,看來要搞懂這個還要再多花一點時間

2
Ray
iT邦大神 1 級 ‧ 2019-09-19 06:25:39

這要看你的應用場景來決定, 不是大或小就絕對好或不好, 這裡有一篇人家測試 queue depth 的過程 (他同時也解釋了會發生各種延遲的瓶頸地段), 請由此篇 POC 過程建立你自己的想法, 再根據你的假設去進行實測驗證:
Performance Increase? Changing Software iSCSI Adapter Queue Depth

看更多先前的回應...收起先前的回應...
ponton iT邦新手 5 級 ‧ 2019-09-19 08:37:30 檢舉

謝謝大大的連結!不好意思!小弟我對這塊不是很懂,這個連結的內文講的我不知道如果我調整16或是64或更高128要以哪個數據來做比較?有沒有比較讓我這種入門的新手了解隊列深度這個差異

Ray iT邦大神 1 級 ‧ 2019-09-19 08:47:22 檢舉

如果不瞭解的話, 建議不要去動他, 因為這個不是一兩個因素的影響而已, 也不是 1+1 結果一定會等於 2, 所以別人也無法給你建議...

要了解 queue depth 用途, 必須了解整個磁碟指令傳輸原理, 以及 iSCSI 的協定, 這些都是學科等級的內容, 如果沒有這些理論基礎, 一步就要跳到他的應用層面去調整, 是沒辦法得到正確結果的....

市面上沒有專教磁碟理論的書, 你必須在 Storage 設備製造商擔任過研發工作, 才有機會學習到這些. 如果你沒有這些機會, 只能將這些參數調整交給原廠來處理...

如果原廠也沒有能力處理 (問客服當然沒有用, 因為這需要資深工程師 + 現場實做才能調得出來), 那你應該考慮換一個可以解決你問題的原廠. 這也是為何企業級 Storage 要賣到幾百萬的原因, 因為知識無價, 這種專業不是十幾萬的廠商能夠派得出工程師的.....

ponton iT邦新手 5 級 ‧ 2019-09-19 09:21:37 檢舉

剛剛上網爬了一下文https://www.cnblogs.com/StarStor/p/3892338.html
這篇內文有說到一句話:
為何要對磁盤I/O進行並行處理呢?主要目的是提升應用程序的性能。這一點對於多物理磁盤組成的虛擬磁盤(或LUN)顯得尤為重要。如果一次提交一個I/O,雖然響應時間較短,但係統的吞吐量很小。相比較而言,一次提交多個I/O既縮短了磁頭移動距離(通過電梯算法),同時也能夠提升IOPS。假如一部電梯一次只能搭乘一人,那麼每個人一但乘上電梯,就能快速達到目的地(響應時間),但需要耗費較長的等待時間(隊列長度)。因此一次向磁盤系統提交多個I/O能夠平衡吞吐量和整體響應時間。
理論上,磁盤的IOPS取決於隊列長度÷平均IO響應時間。假設隊列長度為3,平均IO響應時間是10ms,則最大吞吐量是300 IOPS。

我有什麼方法知道硬碟的硬碟的響應時間??

Ray iT邦大神 1 級 ‧ 2019-09-19 10:03:24 檢舉

磁碟原廠規格書中, 並沒有「響應時間 (Reponse Time)」這個參數, 那個名詞在這裡只是一個形容詞, 形容磁碟吐出資料的潛在時間, 但並不是一個精確的專有名詞...

請參考此圖:

圖中, 從每一塊顏色, 到最底下的 Disk 之間, 都可以計算出不同的響應時間..

所以那篇文章作者, 有自己心裡定義的某個響應時間, 但是它定義的計算範圍, 是從哪裡算到哪裡? 我們並不知道. OS 層量出來的響應時間, 一定跟介面層量出來的不一樣, 因為中間經過的層次不同.

磁碟產業會用不同的名詞去描述上面那個規格, 有些甚至必須透過幾個參數的合併計算才會有數字; 你必須先明確知道他的定義, 才能去查相關範圍內的產品規格參數....

ponton iT邦新手 5 級 ‧ 2019-09-20 23:17:34 檢舉

感謝大大回覆,看來要搞懂這個還要再多花一點時間

我要發表回答

立即登入回答