Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to solve the problem of low writing efficiency of AIX mount NFS

2025-04-06 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/01 Report--

Editor to share with you how to solve the AIX mount NFS write inefficient problem, I believe that most people do not know much about it, so share this article for your reference, I hope you will learn a lot after reading this article, let's go to know it!

Services provided by NFS

Mount: by enabling the / usr/sbin/rpc.mountd servo process on the server and using the mount command on the client side, the mounted servo process is a RPC that responds to client requests

Remote File access: client requests for files are made by enabling / usr/sbin/nfsd on the server and / usr/sbin/biod on the client. But when a user on the client side wants to read or write a file on the server side, the biod servo process sends the request to the server side.

Boot parameters: provide the startup parameters of the diskless SunOS client by enabling the / usr/sbin/rpc.bootparamd servo process on the server.

PC authentication: PC-NFS user authentication service is provided by launching / usr/sbin/rpc.pcnfsd on the server side

A NFS service is stateless, that is, the transport of NFS is atomic, and a single NFS transfer corresponds to a single complete file operation.

Background:

Linux is the server side of NFS, and AIX is the Client side of NFS (in addition, a Linux is also used as a client-side comparison test).

The underlying device corresponding to 1.NFS is a flash memory card, and its write performance can reach 2GB/s by local test.

two。 The server is a gigabit network card, and the FTP test transmission can reach 100MB/s.

3.AIX successfully mounts NFS,dd test write speed only 10MB/s

4.Linux mounts NFS successfully, and the write speed of dd test can reach 100MB/s.

Explanation: the above speed mainly reflects the difference of order of magnitude, and there will be a little deviation in the actual test.

Specific environment:

NFS Server:RHEL 6.8

NFS Client:AIX 6.1 、 RHEL 6.8

The mount parameters are configured according to the MOS document:

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

According to the actual requirements, refine the parameters that need to be configured:

-- MOS recommendation (AIX):

Cio,rw,bg,hard,nointr,rsize=32768

Wsize=32768,proto=tcp,noac

Vers=3,timeo=600

-- MOS recommendation (Linux):

Rw,bg,hard,nointr,rsize=32768

Wsize=32768,tcp,actimeo=0

Vers=3,timeo=600

Mount parameters of AIX NFS:

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

Direct mount prompts are as follows:

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

Check the information to confirm that AIX needs to set additional network parameters:

# nfso-p-o nfs_use_reserved_ports=1

The mount attempt was successful again:

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

But the speed of dd testing is not ideal, only 10MB/s:

-- test performance; AIX NFS# time dd if=/dev/zero of=/xtts/test-write bs=8192 count=102400102400+0 records in.102400+0 records out.real 0m43.20suser 0m0.79ssys 0m5.28s# time dd if=/xtts/test-write of=/dev/null bs=8192 count=102400102400+0 records in.102400+0 records out.real 0m30.86suser 0m0.84ssys 0m5.88s

All parameters are set according to the actual requirements and according to the recommendations of MOS. Any problems?

Try to get rid of the cio parameter test, and find that the result is almost unchanged.

Try to get rid of the hard parameter test, and find that the result is almost unchanged.

Try to change the protocol from tcp to udp test, and find that the result is almost unchanged.

Almost all the parameters that can be tried have been tried, and the results are not ideal, so they are ready to coordinate resources to find the location of the host engineer immediately.

At this point, inspiration suddenly occurred, suddenly thought of a possibility. Is it possible that NFS on AIX limits the throughput of a single process? With this guess, run a parallel test:

Open 5 windows and start dd simultaneously:

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

Surprised to find that five windows are completed at 55s at the same time, which is equivalent to 800M*5=4000M, all completed in 55s, reaching 72MB/s per second, through this parallel way has met the need to improve efficiency.

And it seems that as long as we continue to try to open more windows to test, we can basically reach the network upper limit 100MB/s (Gigabit Network Card limit).

Attachment: test that the same NFS is mounted to another Linux server, and the dd write speed can reach 100MB/s without parallel, which is also a factor that affects your thinking before.

Mount parameters of Linux NFS:

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

Test results of Linux NFS:

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

Not familiar with AIX, did not delve further into the underlying principles. The main confusion in the process of starting to solve the problem is why when Linux is a client, you can test dd at the speed of 100MB/s without parallelism, making yourself trapped in your inherent thinking. The thinking from this matter is that sometimes you have to think outside the conventional way of thinking in order to make a breakthrough.

Finally, the results of the local test on the NFS Server side are also posted, sighing the IUnip O capability of the flash memory card:

# dd if=/dev/zero of=/dev/test-write2 bs=8192 count=10240001024000+0 records in1024000+0 records out8388608000 bytes (8.4GB) copied, 4.19912 s, 2.0GB/s and above are all the contents of this article entitled "how to solve the problem of inefficient writing of AIX mount NFS". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report