On 08/02/12 02:00, Vit Hrachovy wrote:
On 08/02/12 00:53, Mike Gerdts wrote:
Is it known and/or expected that nfs:/// repos perform *much* worse than
http:// repos?

As an example, I have two images that I started to update at the same
time. The repo is in SCA, the images are in BRM. I thought that NFS may
be the cause of the horrible performance so I hit ^C in one of them.
Then I started up a couple pkg.depotd processes for the on-nightly and
on-extra repos in SCA, changed the publisher settings on one of the
images to use http URIs, and restarted the operation (pkg change-variant
variant.debug.osnet=true).

Any idea what's behind this?

Hi Mike,
I don't know how far SCA labs are from BRM, but IPS makes a lot of tiny FS operations instead of one big file transfer.

In case of traversing NFS across misconfigured routers or across vast landscapes the stat() operations on NFS take very long time and as IPS fires lots of such operations, this could explain horrible performance.

On the other hand if You have machine serving repo over NFS in the same subnet and in the same LAN like machine being installed, NFS should have better performance.

Regards

The two machines in question are ~37 ms apart. Aside from pkg over NFS, I've noticed no significant network or NFS problems. My home directory is also mounted from SCA and it's performed as well as you would expect when you are 37 ms away from your storage. The same repo on the same host was used for both http and nfs publisher configuration so that rules out network issues (assuming there's not some complicated and slow packet filtering for NFS that doesn't exist for http). Also, if it had to do with a warm vs. cold fs cache on the server side, that would suggest that the http operation would have gone fast until it caught up with the NFS operation, then they would finish at about the same time. That certainly wasn't the case.

Does the file:/// path of pkg do more stat() requests than the http:// path does HEAD requests? If so, why? If not, perhaps there's something in the NFS stack that is suboptimal for this type of workload.

At least for the case of high latency file:/// repos, it would seem as though there would be a lot of benefit in having multiple threads.

httphost# pkg history -n 1 -l | grep Time
        Start Time: 2012-08-01T16:29:17
          End Time: 2012-08-01T16:35:09
        Total Time: 0:05:52

nfshost# pkg history -n 1 -l | grep Time
        Start Time: 2012-08-01T15:23:50
          End Time: 2012-08-01T15:54:27
        Total Time: 0:30:37

Those times really do overlap but the servers are set for different time zones: 16:29 - 16:35 MDT vs. 15:23 - 15:54 PDT.

--
Mike Gerdts
Solaris Core OS / Zones                 http://blogs.oracle.com/zoneszone/

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to