If anyone is doing some simple I/O tests, like dd, for example with iSCSI and noticing abysmal performance I just found something. Internally someone was setting up a machine with iSCSI and noticed the following:

time dd if=<iscsi_target> of=/dev/null bs=1k count=200

   reported time would be 12 seconds.

time dd if=<iscsi_target> of=/dev/null bs=8k count=200

   reported time would be less than a second.

For the test the iSCSI target backing store was a file in /tmp, so it's a ram disk. The link between the two machines is a 10GbE.

Clearly something odd was happening since there's no way 1k reads should be slower than 8k reads. Well, after poking around a little bit it turns out this simple test case is showing why the "Nagele Algorithm" is not a good fit for iSCSI. By disabling this feature the times for the 1KB case are just a fraction of a second quicker than the 8KB which is expected.

I just wanted to point this out to folks in case you've noticed the problem and where wondering why or saw this problem and thought the Solaris iSCSI Target was a piece of junk. I'll be fixing this with my next set of changes.
----
Rick McNeal

"If ignorance is bliss, this lesson would appear to be a deliberate attempt on your part to deprive me of happiness, the pursuit of which is my unalienable right according to the Declaration of Independence. I therefore assert my patriotic prerogative not to know this material. I'll be out on the playground." -- Calvin


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

Reply via email to