I/O performance is bad using mount points

Hi,
We are doing large I/O on file systems. We observed that I/O through the
drive letter is faster than I/O performed through the mount point on the
same FS. In fact, the latter is almost twice slower than the former. I
attributed this observation to reparse point behavior of the file system
driver. At first, I/O is attempted at root drive and when root drive fs
reject this I/O, then I/O is tried through the FSD which owns the I/O.

Can someone comment on this?

Thanks
Pash

The cost will only be taken on file open. For a full-pathname open, I
believe that NTFS will check every directory in the path, top-down, for
the presence of reparse points that would indicate that the directory is
a mount point (each one causing STATUS_REPARSE to be returned). But
after the open is fully parsed and has succeeded, any subsequent I/O is
done directly to the file object, and no more overhead should be seen.
If you optimize your code to perform as few file opens as possible, you
should improve performance.

Whether or not the overhead you are seeing on these creates is
justifiable I can’t say (because I don’t know how you’re testing this
and because I don’t have the source code to Windows). From what I read,
a reparse point is just another attribute in the MFT record, so I don’t
see why there would be significantly more overhead being taken than
already must be taken to check the directory ACLs. The cost of sending
down the second open is of course overhead, but it’s just CPU cycles and
shouldn’t cause more disk hits that would be caused by a straight open
on the file.

  • Nick Ryan

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pashupati Kumar
Sent: Tuesday, June 10, 2003 7:44 PM
To: File Systems Developers
Subject: [ntfsd] I/O performance is bad using mount points

Hi,
We are doing large I/O on file systems. We observed that I/O through the
drive letter is faster than I/O performed through the mount point on the
same FS. In fact, the latter is almost twice slower than the former. I
attributed this observation to reparse point behavior of the file system
driver. At first, I/O is attempted at root drive and when root drive fs
reject this I/O, then I/O is tried through the FSD which owns the I/O.
Can someone comment on this?
Thanks
Pash

You are currently subscribed to ntfsd as: xxxxx@nryan.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thanks for your response. I was expecting something similar. I am doing test
with few files which are of large sizes. So, I shouldn’t be seeing any
perceptible performance degradation using mount point. I will more
investigation from my side/

Thanks
Pash

-----Original Message-----
From: Nick Ryan [mailto:xxxxx@nryan.com]
Sent: Wednesday, June 11, 2003 12:18 AM
To: File Systems Developers
Subject: [ntfsd] RE: I/O performance is bad using mount points

The cost will only be taken on file open. For a full-pathname open, I
believe that NTFS will check every directory in the path, top-down, for
the presence of reparse points that would indicate that the directory is
a mount point (each one causing STATUS_REPARSE to be returned). But
after the open is fully parsed and has succeeded, any subsequent I/O is
done directly to the file object, and no more overhead should be seen.
If you optimize your code to perform as few file opens as possible, you
should improve performance.

Whether or not the overhead you are seeing on these creates is
justifiable I can’t say (because I don’t know how you’re testing this
and because I don’t have the source code to Windows). From what I read,
a reparse point is just another attribute in the MFT record, so I don’t
see why there would be significantly more overhead being taken than
already must be taken to check the directory ACLs. The cost of sending
down the second open is of course overhead, but it’s just CPU cycles and
shouldn’t cause more disk hits that would be caused by a straight open
on the file.

  • Nick Ryan

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pashupati Kumar
Sent: Tuesday, June 10, 2003 7:44 PM
To: File Systems Developers
Subject: [ntfsd] I/O performance is bad using mount points

Hi,
We are doing large I/O on file systems. We observed that I/O through the
drive letter is faster than I/O performed through the mount point on the
same FS. In fact, the latter is almost twice slower than the former. I
attributed this observation to reparse point behavior of the file system
driver. At first, I/O is attempted at root drive and when root drive fs
reject this I/O, then I/O is tried through the FSD which owns the I/O.
Can someone comment on this?
Thanks
Pash

You are currently subscribed to ntfsd as: xxxxx@nryan.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


You are currently subscribed to ntfsd as: xxxxx@legato.com
To unsubscribe send a blank email to xxxxx@lists.osr.com