performance tuning of iSCSI and Dell MD3000i

Daniel Braniss danny at cs.huji.ac.il
Thu Jan 21 08:04:42 UTC 2010


Hi Miroslav,
> Hi,
> 
> [1]
> I am using iSCSI Initiator 2.2.3 (on 7-STABLE amd64) and Dell MD3000i as 
> storage for server distributing downloads of large files (10-200MB) 
> through Lighttpd daemon.
> Is there any tips for performance tuning?
> 
> My iscsi.conf is:
> styx_storage_1 {
>          initiatorname   = iqn.2005-01.il.ac.huji.cs::dust.example.com
>          TargetName      = 
> iqn.1984-05.com.dell:powervault.md3000i.60026b900042587b000000004ae58efc
>          TargetAddress   = 192.168.130.101:3260,1
>          tags            = 64
> }
> 
> Lighttpd is serving about 200-300 client connections at speed 220Mb/s it 
> is about 215Mb/s on iSCSI network interface to MD3000i. (iostat showed 
> 100% busy of da0)
> Is it really maximum achievable speed on this type of iSCSI storage? 
> (made of 4 SATA drives in RAID5)
> Or can it be better with some tuned settings?
> 

the limiting factor is mainly the network, I have no experience with the 
MD3000i,
we have MD3000 and they are very fast, unfourtunately, I can't come up
with real statistical values, since the raid+zfs are doing very aggresive
caching and my benchmarks are useless.
In any case, the values you are getting seem a bit low, I would first measure
the speed on the server, if your net is GB, then you should expect something
around 80-100 MB/s.

> Have anyone experiences with MD3000i - if I add more disk drives in to 
> RAID5, will it help? How much?
> 
> 
> [2]
> Is somewhere final rc script for iscsi initiator which can be used to 
> mount filesystem from iSCSI target at boot time by standard rc 
> procedure? Why is it not included in the base system if iscsi_initiator 
> is there for a long time?

I guess I should work on that :-(

> 
> 
> [3]
> And one other thing, I got following error logged in messages after 2 
> days of running some performance tests:
can you check the M3000i logs at that time? or else let me know
what tests you are doing, so that i can try it here?
> 
> Jan 19 05:36:50 dust kernel: >>> so_recv: have a problem, error=0
> Jan 19 05:36:50 dust kernel: isc_in: sp->soc=0xffffff0028f14000
> Jan 19 05:36:50 dust kernel: 0] isc_in: terminated, flags=39f so_count=2 
> so_state=2000 error=2080 proc=0xffffff0005ab1910
> Jan 19 05:36:50 dust kernel: 0] isc_in: pid=963750 s]i gin_alfeudl(l3f0e)atu
> Jan 19 05:36:50 dust kernel: r0e]:  ifslca_gi=n0:
> Jan 19 05:36:50 dust kernel: dropped ISC_CON_RUNNING
> Jan 19 05:36:50 dust iscontrol[96375]: trapped signal 30
> Jan 19 05:36:52 dust kernel: 0] i_send: len=492 ahs_len=0 ds_len=441 
> buf=444 at 0xffffff0007068000
> Jan 19 05:36:52 dust kernel: 0] i_setopt: maxRecvDataSegmentLength=65536
> Jan 19 05:36:52 dust kernel: 0] i_setopt: opt.maXmitDataSegmentLength=65536
> Jan 19 05:36:52 dust kernel: 0] i_setopt: opt.maxBurstLength=131072
> Jan 19 05:36:52 dust kernel: 0] i_setopt: 
> opt.targetAddress='192.168.130.101'
> Jan 19 05:36:52 dust kernel: 0] i_setopt: 
> opt.targetName='iqn.1984-05.com.dell:powervault.md3000i.60026b900042587b000000004ae58efc'
> Jan 19 05:36:52 dust kernel: 0] i_setopt: 
> opt.initiatorName='iqn.2005-01.il.ac.huji.cs::dust.example.com'
> Jan 19 05:36:52 dust kernel: 0] i_setopt: opt.headerDigest='None'
> Jan 19 05:36:52 dust kernel: 0] i_setopt: opt.dataDigest='None'
> Jan 19 05:36:52 dust kernel: 0] i_fullfeature: flag=2
> Jan 19 05:36:52 dust kernel: 0] ism_restart: restart ...
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a30e4
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a30e5
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a30e7
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a30ea
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a30eb
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a30f3
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a30f4
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3111
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3117
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3118
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3119
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a311a
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a311d
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a311e
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3120
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3121
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3123
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3124
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3126
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3127
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3128
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a3129
> Jan 19 05:36:52 dust kernel: 0] iscsi_requeue: last=30a30e4 n=30a312a
> Jan 19 05:36:52 dust kernel: 0] ism_restart: restarted sn.cmd=0x30a312b 
> lastcmd=0x30a30e4
> 
> Then transfer of files continued at slightly lower speed than before.

it seems that there was a network glitch, but it recovered.

> 
> Miroslav Lachman




More information about the freebsd-scsi mailing list