On Jul 17, 2007  09:49 +0800, Stuart Midgley wrote:
> We are seeing really bad performance from a java app and it boils down to
> poor performance from 1-byte reads from a Lustre file system.  After a
> detailed strace of the application running, I have generated the following
> code snippet which demonstrates the problem
> 
> Anyway, this code runs in <1s on local disk, ~5s on NFS and >30s on
> Lustre...  I was disappointed to see Lustre slower than nfs.   I was
> hoping that Lustre's read-a-head would have been triggered by this code,
> but it doesn't appear to be.  Any way I can tune Lustre to work better
> with this code?  (I know, change the code, but it isn't that easy - this
> is a c example of an strace of a java app - and changing the original java
> app isn't so easy).

Two likely reasons:
- lustre has DLM overhead for each read() syscall that local filesystems
  and NFS do not have
- the default debug level for lustre is punishing for small reads.  Try
  setting "sysctl -w lnet.debug=0" to test this.  The default debug level
  will be changing in lustre 1.6.1.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

_______________________________________________
Lustre-discuss mailing list
[email protected]
https://mail.clusterfs.com/mailman/listinfo/lustre-discuss

Reply via email to