iscsi_initiator 2.2.2 slow to write and read

Ivan Voras ivoras at freebsd.org
Mon Jul 13 10:05:03 UTC 2009


Jiansong Liu wrote:
> On Wed, Jul 8, 2009 at 1:36 AM, Gary Palmer <gpalmer at freebsd.org> wrote:
> 
>> On Tue, Jul 07, 2009 at 07:05:03PM +0800, Jiansong Liu wrote:
>>> Hello All,
>>>
>>> I downloaded the latest iscsi_initiator 2.2.2 from Danny's FTP,
>>> and compile kernel and iscontrol with 7.2 STABLE GENERIC config, only got
>>> about 800KB/Sec speed to a DELL MD3000i disk array, I searched in
>>> this malling list and found a patch, but it seems is not for this version
>>> (2.2.2), any advice would be great appreciated.
>>>
>>> here are some details about my system:
>>>
>>> # sysctl net.iscsi
>>> net.iscsi.driver_version: 2.2.2
>>> net.iscsi.isid: ???DIB00
>>> net.iscsi.sessions: 1
>>> net.iscsi.0.targetname:
>>> iqn.1984-05.com.dell:powervault.md3000i.60024e80004e71a9000000004a011120
>>> net.iscsi.0.targeaddress: 192.168.4.182
>>> net.iscsi.0.stats: recv=594 sent=594 flags=0x0000039f pdus-alloc=16
>>> pdus-max=16 cws=426 cmd=157 exp=157 max=300 stat=159 itt=157
>>> net.iscsi.0.douio: 0
>>> net.iscsi.0.pid: 754
>>>
>>> # cat /etc/iscsi.conf
>>> scpstorage01 {
>>>         initiatorname =iqn.2005-01.il.ac.huji.cs::static01.com
>>>         TargetName
>>>
>>  =iqn.1984-05.com.dell:powervault.md3000i.60024e80004e71a9000000004a011120
>>>         TargetAddress =192.168.4.182:3260,1
>>>          tags =4
>>> }
>> I'm no expert, but if that "tags" line refers to SCSI tags then that
>> number is too small.  Try increasing it and see if that helps to
>> address the problem.
>>
>> Regards,
>>
>> Gary
>>
> 
> Hi Gary,
> 
> Thanks for the advice, I have tried set tags to 32 and 64,
> but it could not get more performance on IO (90MB write and 56MB read).
> I think the writing is good enough for my application, but the reading still
> is a problem.
> 
> # dd if=/home/mogdata/test.foo of=/dev/null
> 2048000+0 records in
> 2048000+0 records out
> 1048576000 bytes transferred in 17.670549 secs (59340318 bytes/sec)

Are you really reading sector by sector? Try adding bs=1m to the dd line.

There is something else you can try to increase sequential reading, if 
that's what you're interested in: increase the vfs.read_max sysctl to 32 
or 64.

On the other hand, it will do nothing to improve, and may harm random 
read performance. Test with your actual application before drawing 
conclusions.



More information about the freebsd-scsi mailing list