I work with Greenplum which is essentially a number of Postgres database instances clustered together. Being postgres, the data is held in a lot of individual files which can be each fairly big (hundreds of MB or several GB) or very small (50MB or less). We've noticed a performance difference when our database files are many and small versus few and large.

To test this outside the database, we built a zpool using RAID-10 (it works for RAID-z too) and filled it with 800, 5MB files. Then we used 4 concurrent dd processes to read 1/4 of the files each. This reqiured 123seconds.

Then we destroyed the pool, recreated it, and filled it with 20 files each 200MB and 780 files each 0bytes (same number of files, same total space consumed). The same dd reads took 15 seconds.

Any idea why this is? Various configurations of our product can divide data in the databases into an enormous number of small files. varying the arc cache size limit did not have any effect. Are there other tunables available to Solaris 10 U7 (not openSolaris) that might affect this behavior?

Thanks!
                                       -dt
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to