I recently posted about a serious performance issue when running a single thread against my Solaris iSCSI Software Initiator connected volume. The cause of this performance issue is due to the Nagle algorithm being used for the network traffic sent to and from the iSCSI target. Simply disabling the Nagle algorithm solved the problem.
Easy enough fix, but it raised a question. If having the Nagle algorithm enabled could cause this serious a performance degradation (300k/sec I get with it enabled, 40MB/sec with it disabled), should it be disabled by default? I guess I would be curious as to the reason it is enabled by default. Does the performance advantage on some targets outweigh the performance degradation seen when it is enabled for other targets? 300k/sec is pretty dreadful performance, and for most applications it could be considered unusable. Granted my testing was to the raw device, but any application that accesses the raw device directly is also affected by this (think Solaris Volume Manager, and I wonder how ZFS would fair, I can test if necessary). How would I go about filing a request to change the default to not use the Nagle algorithm? Patrick This message posted from opensolaris.org _______________________________________________ storage-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/storage-discuss
