On Tue, 2013-12-10 at 17:42 -0800, Nicholas A. Bellinger wrote: > On Tue, 2013-12-10 at 23:47 +0100, Henrik Goldman wrote: > > Hello, > > > > Several pages including > > http://linux-iscsi.org/wiki/Targetcli#Create_a_backstore seems to > > suggest that you should use iblock as the backstore for production > > setups. > > > > However from our tests we see that performance is significantly > > decreased compared with buffered fileio. In our tests we found a 2-4x > > difference. > > > > I understand obviously that buffered io is less safe than unbuffered > > but it's not clear for me why performance is so much different. > > > > One of the greatest features of fileio is that you essentially use all > > your system memory as cache... something which is not very > > highlighted. > > > > You just answered your own question. ;-) > > Buffered FILEIO means all WRITEs go into the filesystem buffer cache, > and only an explicit SYNCHRONIZE_CACHE or WRITE FUA (Forced Unit Access) > from the client will force flushing of said WRITE data from buffer cache > to the persistent backend device. > Btw, that's not completely true. The /proc/sys/vm/dirty_[background_ratio,writeback_centisecs] tunables control the background writeout for dirty data in the buffer cache. The latter default is on the order of 5 seconds. FYI, an explanation of these values are in Documentation/sysctl/vm.txt --nab -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html