如何解決AIX掛載NFS寫入效率低效的問題-創(chuàng)新互聯(lián)

小編給大家分享一下如何解決AIX掛載NFS寫入效率低效的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)長(zhǎng)期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為賓陽企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),賓陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

NFS提供的服務(wù)

Mount: 通過在服務(wù)端啟用/usr/sbin/rpc.mountd伺服進(jìn)程,在客戶端使用mount命令,mounted伺服進(jìn)程是一個(gè)RPC來回應(yīng)客戶端的請(qǐng)求

Remote File access:通過在服務(wù)端啟用/usr/sbin/nfsd和在客戶端啟用/usr/sbin/biod,來出來客戶端對(duì)文件的請(qǐng)求。但客戶端一個(gè)用戶要來讀或?qū)懸粋€(gè)在服務(wù)器端的文件時(shí),biod伺服進(jìn)程發(fā)送這個(gè)請(qǐng)求到服務(wù)端。

Boot parameters: 通過在服務(wù)端啟用/usr/sbin/rpc.bootparamd伺服進(jìn)程來提供無盤SunOS客戶端的啟動(dòng)參數(shù)。

PC authentication: 通過在服務(wù)端啟動(dòng)/usr/sbin/rpc.pcnfsd來提供PC-NFS的用戶認(rèn)證服務(wù)

一個(gè)NFS服務(wù)是無狀態(tài)的(stateless),也就是說,NFS的傳輸是原子級(jí)的,一個(gè)單一的NFS傳輸對(duì)應(yīng)了一個(gè)單一完整的文件操作。

背景:

Linux是NFS的Server端,AIX是NFS的Client端(此外,有一個(gè)Linux也作為Client端對(duì)比測(cè)試)。

1.NFS對(duì)應(yīng)的底層設(shè)備是閃存卡,本地測(cè)試I/O寫性能可達(dá)2GB/s;

2.服務(wù)器是千兆網(wǎng)卡,F(xiàn)TP測(cè)試傳輸可達(dá)到100MB/s;

3.AIX成功掛載NFS,dd測(cè)試寫入速度只有10MB/s;

4.Linux成功掛載NFS,同樣dd測(cè)試寫入速度可達(dá)到100MB/s;

說明:以上速度主要是體現(xiàn)數(shù)量級(jí)的差異,實(shí)際測(cè)試會(huì)有少許偏差。

具體環(huán)境:

  • NFS Server:RHEL 6.8

  • NFS Client:AIX 6.1、RHEL 6.8

掛載參數(shù)均依據(jù)MOS文檔配置:

Mount Options for Oracle files for RAC databases and Clusterware when used with NFS on NAS devices (文檔 ID 359515.1)

根據(jù)本次實(shí)際需求,提煉一下需要配置的參數(shù):

--MOS建議(AIX):
cio,rw,bg,hard,nointr,rsize=32768,
wsize=32768,proto=tcp,noac,
vers=3,timeo=600

--MOS建議(Linux):
rw,bg,hard,nointr,rsize=32768,
wsize=32768,tcp,actimeo=0,
vers=3,timeo=600

AIX NFS的掛載參數(shù):

mount -o cio,rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,vers=3,timeo=600 10.xx.xx.212:/xtts /xtts

直接掛載提示如下錯(cuò)誤:

# mount -o cio,rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,vers=3,timeo=600 10.xx.xx.212:/xtts /xtts
mount: 1831-008 giving up on:
10.xx.xx.212:/xtts
vmount: Operation not permitted.

查資料確認(rèn)AIX需要額外設(shè)置網(wǎng)絡(luò)參數(shù):

# nfso -p -o nfs_use_reserved_ports=1

再次嘗試掛載成功:

mount -o cio,rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,vers=3,timeo=600 10.xx.xx.212:/xtts /xtts

可dd測(cè)試的速度非常不理想,只有10MB/s:

--test performance; AIX NFS
# time dd if=/dev/zero of=/xtts/test-write bs=8192 count=102400
102400+0 records in.
102400+0 records out.

real 0m43.20s
user 0m0.79s
sys  0m5.28s
# time dd if=/xtts/test-write of=/dev/null bs=8192 count=102400
102400+0 records in.
102400+0 records out.

real 0m30.86s
user 0m0.84s
sys  0m5.88s

所有參數(shù)都是根據(jù)實(shí)際需求,按照MOS的建議設(shè)置的。有什么問題嗎?

  • 嘗試去掉cio參數(shù)測(cè)試,發(fā)現(xiàn)結(jié)果幾乎沒變化;

  • 嘗試去掉hard參數(shù)測(cè)試,發(fā)現(xiàn)結(jié)果幾乎沒變化;

  • 嘗試協(xié)議從tcp改為udp測(cè)試,發(fā)現(xiàn)結(jié)果幾乎沒變化;

幾乎能試的參數(shù)都試了,結(jié)果都不理想,馬上都準(zhǔn)備協(xié)調(diào)資源找主機(jī)工程師定位了。

此時(shí),靈感乍現(xiàn),突然想到一個(gè)可能性。有沒有可能AIX上的NFS限制了單個(gè)進(jìn)程的I/O吞吐能力?帶著這個(gè)猜測(cè),進(jìn)行并行測(cè)試:

開5個(gè)窗口同時(shí)開始dd:

time dd if=/dev/zero of=/xtts/test-write1 bs=8192 count=102400
time dd if=/dev/zero of=/xtts/test-write2 bs=8192 count=102400
time dd if=/dev/zero of=/xtts/test-write3 bs=8192 count=102400
time dd if=/dev/zero of=/xtts/test-write4 bs=8192 count=102400
time dd if=/dev/zero of=/xtts/test-write5 bs=8192 count=102400

驚喜的發(fā)現(xiàn)5個(gè)窗口都在55s同時(shí)完成,這相當(dāng)于800M*5=4000M,都在55s完成,每秒達(dá)到72MB/s,通過這種并行的方式已滿足提升效率的需求。

而且看起來只要繼續(xù)嘗試多開窗口測(cè)試,基本也能達(dá)到網(wǎng)絡(luò)上限100MB/s(千兆網(wǎng)卡限制)。

附:測(cè)試同樣的NFS掛載到另一臺(tái)Linux服務(wù)器上,無需并行,dd寫入速度就可達(dá)100MB/s,這也是之前影響自己思考的因素。
Linux NFS的掛載參數(shù):

# mount -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,vers=3,timeo=600 10.xx.xx.212:/xtts /xtts

Linux NFS的測(cè)試結(jié)果:

--test performance; Linux NFS
# dd if=/dev/zero of=/xtts/test-write bs=8192 count=102400
102400+0 records in
102400+0 records out
838860800 bytes (839 MB) copied, 6.02451 s, 139 MB/s
# dd if=/xtts/test-write of=/dev/null bs=8192 count=102400
102400+0 records in
102400+0 records out
838860800 bytes (839 MB) copied, 8.55925 s, 98.0 MB/s

對(duì)AIX不熟悉,沒有進(jìn)一步深究底層原理。開始解決問題過程中的主要困惑在于,為何Linux作為client時(shí),無需并行就可以dd測(cè)試達(dá)到100MB/s的速度,使自己陷入了固有思維中。從這件事情得到的思考是:有些時(shí)候,要跳出常規(guī)思維去思考方可有所突破。

最后把NFS Server端本地測(cè)試的結(jié)果也貼出來,感嘆下閃存卡的I/O能力:

# dd if=/dev/zero of=/dev/test-write2 bs=8192 count=1024000
1024000+0 records in
1024000+0 records out
8388608000 bytes (8.4 GB) copied, 4.19912 s, 2.0 GB/s

以上是“如何解決AIX掛載NFS寫入效率低效的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁名稱:如何解決AIX掛載NFS寫入效率低效的問題-創(chuàng)新互聯(lián)
分享地址:http://bm7419.com/article10/ceojgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、微信小程序域名注冊(cè)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)