Matthew Ahrens writes:
 > Jeremy Teo wrote:
 > > Would it be worthwhile to implement heuristics to auto-tune
 > > 'recordsize', or would that not be worth the effort?
 > 
 > Here is one relatively straightforward way you could implement this.
 > 
 > You can't (currently) change the recordsize once there are multiple 
 > blocks in the file.  This shouldn't be too bad because by the time 
 > they've written 128k, you should have enough info to make the choice. 
 > In fact, that might make a decent algorithm:
 > 
 > * Record the first write size (in the ZPL's znode)
 > * If subsequent writes differ from that size, reset write size to zero
 > * When a write comes in past 128k, see if the write size is still 
 > nonzero; if so, then read in the 128k, decrease the blocksize to the 
 > write size, fill in the 128k again, and finally do the new write.
 > 
 > Obviously you will have to test this algorithm and make sure that it 
 > actually detects the recordsize on various databases.  They may like to 
 > initialize their files with large writes, which would break this.  If 
 > you have to change the recordsize once the file is big, you will have to 
 > rewrite everything[*], which would be time consuming.
 > 
 > --matt
 > 

Oracle will typically create it's files with 128K writes
not recordsize ones.

-r

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

Reply via email to