On 16 Apr 2009 at 13:59, jnantel wrote:

> 
> **** FINAL RESULTS *****
> First of all I'd thank Mike Christie for all his help. Mike I'll
> tapping your brain again for some read performance help.
> 
> This for the benefit of anyone using the Dell Equallogic PS5000XV
> PS5000E with SLES10 SP2 / Redhat 5.3 / Centos 5.3 / Oracle Linux +
> Multipath ( MPIO ) and open-iscsi ( iscsi ).  Sorry about weird
> formatting, making sure this is going get hit for people that were in
> my predicament.

When seeing your settings, I wonder what your network latency for jumbo frames 
is 
(e.g using ping). The timing is dependent on packet sizes. Here is what I have 
if 
everything is connected to one switch (and both ends are handling normal iSCSI 
traffic at the same time), started from Domain-0 of a XEN-virtualized machine 
that 
has 77 users logged on:

# ping -s 9000 172.20.76.1
PING 172.20.76.1 (172.20.76.1) 9000(9028) bytes of data.
9008 bytes from 172.20.76.1: icmp_seq=1 ttl=64 time=1.90 ms
9008 bytes from 172.20.76.1: icmp_seq=2 ttl=64 time=1.38 ms
9008 bytes from 172.20.76.1: icmp_seq=3 ttl=64 time=1.39 ms
9008 bytes from 172.20.76.1: icmp_seq=4 ttl=64 time=1.40 ms
9008 bytes from 172.20.76.1: icmp_seq=5 ttl=64 time=1.56 ms
9008 bytes from 172.20.76.1: icmp_seq=6 ttl=64 time=1.52 ms
9008 bytes from 172.20.76.1: icmp_seq=7 ttl=64 time=1.39 ms
9008 bytes from 172.20.76.1: icmp_seq=8 ttl=64 time=1.40 ms
9008 bytes from 172.20.76.1: icmp_seq=9 ttl=64 time=1.55 ms
9008 bytes from 172.20.76.1: icmp_seq=10 ttl=64 time=1.38 ms

--- 172.20.76.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9000ms
rtt min/avg/max/mdev = 1.384/1.491/1.900/0.154 ms
# ping 172.20.76.1
PING 172.20.76.1 (172.20.76.1) 56(84) bytes of data.
64 bytes from 172.20.76.1: icmp_seq=1 ttl=64 time=0.253 ms
64 bytes from 172.20.76.1: icmp_seq=2 ttl=64 time=0.214 ms
64 bytes from 172.20.76.1: icmp_seq=3 ttl=64 time=0.223 ms
64 bytes from 172.20.76.1: icmp_seq=4 ttl=64 time=0.214 ms
64 bytes from 172.20.76.1: icmp_seq=5 ttl=64 time=0.215 ms
64 bytes from 172.20.76.1: icmp_seq=6 ttl=64 time=0.208 ms
64 bytes from 172.20.76.1: icmp_seq=7 ttl=64 time=0.270 ms
64 bytes from 172.20.76.1: icmp_seq=8 ttl=64 time=0.313 ms

--- 172.20.76.1 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 6996ms
rtt min/avg/max/mdev = 0.208/0.238/0.313/0.039 ms

I think large queues are more important if the roundtrip delay is high. ANd 
don't 
forget that queue sizes are per device or session, so is uses some RAM.

Regards,
Ulrich

> 
> As from this thread my issue was amazingly slow performance with
> sequential writes with my multipath, around 35 meg/s, configuration
> when measured with IOMETER.  First things first... THROW OUT IOMETER
> FOR LINUX , it has problems with queue depth.  With that said, with
> default iscsi and multipath setup we saw between 60-80meg/sec
> performance with multipath. In essence it was slower than single
> interface in certain block sizes. When I got done my write performance
> was pushing 180-190meg/sec with blocks as small as 4k ( sequential
> write test using "dt").
> 
> Here are my tweaks:
> 
> After making any multipath changes do "multipath -F"  then "multipath"
> otherwise your changes won't take effect.
> 
> /etc/multipath.conf
> 
> device {
>         vendor "EQLOGIC"
>         product "100E-00"
>         path_grouping_policy multibus
>         getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
>         features "1 queue_if_no_path"   < --- important
>         path_checker readsector0
>         failback immediate
>         path_selector "round-robin 0"
>         rr_min_io 512 <---- important, only works with large queue
> depth and cms in iscsi.conf
>         rr_weight priorities
> }
> 
> 
> /etc/iscsi/iscsi.conf   ( restarting iscsi seems to apply the configs
> fine)
> 
> # To control how many commands the session will queue set
> # node.session.cmds_max to an integer between 2 and 2048 that is also
> # a power of 2. The default is 128.
> node.session.cmds_max = 1024
> 
> # To control the device's queue depth set node.session.queue_depth
> # to a value between 1 and 128. The default is 32.
> node.session.queue_depth = 128
> 
> Other changes I've made are basic gigabit network tuning for large
> transfers and turning off some congestion functions, some scheduler
> changes (noop is amazing for sub 4k blocks but awful for 4meg chunks
> or higher). I've turned off TSO on the network cards, apparently it's
> not supported with jumbo frames and actually slows down performance.
> 
> 
> dc1stgdb14:~ # ethtool -k eth7
> Offload parameters for eth7:
> rx-checksumming: off
> tx-checksumming: off
> scatter-gather: off
> tcp segmentation offload: off
> dc1stgdb14:~ # ethtool -k eth10
> Offload parameters for eth10:
> rx-checksumming: off
> tx-checksumming: off
> scatter-gather: off
> tcp segmentation offload: off
> dc1stgdb14:~ #
> 
> 
> On Apr 13, 4:36 pm, jnantel <nan...@hotmail.com> wrote:
> > I am having a major issue with multipath + iscsi writeperformance
> > with anything random or any sequential write with data sizes smaller
> > than 4meg  (128k 64k 32k 16k 8k).  With 32k block size, I am able to
> > get a maximum throughput of 33meg/s write.  Myperformancegets cut by
> > a third with each smaller size, with 4k blocks giving me a whopping
> > 4meg/s combined throughput.  Now bumping the data size up to 32meg
> > gets me 160meg/sec throughput, and 64 gives me 190meg/s and finally to
> > top it out 128meg gives me 210megabytes/sec.  My question is what
> > factors would limit myperformancein the 4-128k range?
> >
> > Some basics about myperformancelab:
> >
> > 2 identical 1 gigabit paths (2  dual port intel pro 1000 MTs) in
> > separate pcie slots.
> >
> > Hardware:
> > 2 x Dell R900 6 quad core, 128gig ram, 2 x Dual port Intel Pro MT
> > Cisco 3750s with 32gigabit stackwise interconnect
> > 2 x Dell Equallogic PS5000XV arrays
> > 1 x Dell Equallogic PS5000E arrays
> >
> > Operating systems
> > SLES 10 SP2 , RHEL5 Update 3, Oracle Linux 5 update 3
> >
> > /etc/mutipath.conf
> >
> > defaults {
> >         udev_dir                /dev
> >         polling_interval        10
> >         selector                "round-robin 0"
> >         path_grouping_policy    multibus
> >         getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
> >         prio_callout            /bin/true
> >         path_checker            readsector0
> >         features "1 queue_if_no_path"
> >         rr_min_io               10
> >         max_fds                 8192
> > #       rr_weight               priorities
> >         failback                immediate
> > #       no_path_retry           fail
> > #       user_friendly_names     yes
> >
> > /etc/iscsi/iscsi.conf   (non default values)
> >
> > node.session.timeo.replacement_timeout = 15
> > node.conn[0].timeo.noop_out_interval = 5
> > node.conn[0].timeo.noop_out_timeout = 30
> > node.session.cmds_max = 128
> > node.session.queue_depth = 32
> > node.session.iscsi.FirstBurstLength = 262144
> > node.session.iscsi.MaxBurstLength = 16776192
> > node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
> > node.conn[0].iscsi.MaxXmitDataSegmentLength = 262144
> >
> > discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 65536
> >
> > Scheduler:
> >
> > cat /sys/block/sdb/queue/scheduler
> > [noop] anticipatory deadline cfq
> > cat /sys/block/sdc/queue/scheduler
> > [noop] anticipatory deadline cfq
> >
> > Command outputs:
> >
> > iscsiadm -m session -P 3
> > iSCSI Transport Class version 2.0-724
> > iscsiadm version 2.0-868
> > Target: iqn.2001-05.com.equallogic:0-8a0906-2c82dfd03-64c000cfe2249e37-
> > dc1stgdb15-sas-raid6
> >         Current Portal: 10.1.253.13:3260,1
> >         Persistent Portal: 10.1.253.10:3260,1
> >                 **********
> >                 Interface:
> >                 **********
> >                 Iface Name: ieth1
> >                 Iface Transport: tcp
> >                 Iface Initiatorname: iqn.2005-04.com.linux:dc1stgdb15
> >                 Iface IPaddress: 10.1.253.148
> >                 Iface HWaddress: default
> >                 Iface Netdev: eth1
> >                 SID: 3
> >                 iSCSI Connection State: LOGGED IN
> >                 iSCSI Session State: Unknown
> >                 Internal iscsid Session State: NO CHANGE
> >                 ************************
> >                 Negotiated iSCSI params:
> >                 ************************
> >                 HeaderDigest: None
> >                 DataDigest: None
> >                 MaxRecvDataSegmentLength: 262144
> >                 MaxXmitDataSegmentLength: 65536
> >                 FirstBurstLength: 65536
> >                 MaxBurstLength: 262144
> >                 ImmediateData: Yes
> >                 InitialR2T: No
> >                 MaxOutstandingR2T: 1
> >                 ************************
> >                 Attached SCSI devices:
> >                 ************************
> >                 Host Number: 5  State: running
> >                 scsi5 Channel 00 Id 0 Lun: 0
> >                         Attached scsi disk sdb          State: running
> >         Current Portal: 10.1.253.12:3260,1
> >         Persistent Portal: 10.1.253.10:3260,1
> >                 **********
> >                 Interface:
> >                 **********
> >                 Iface Name: ieth2
> >                 Iface Transport: tcp
> >                 Iface Initiatorname: iqn.2005-04.com.linux:dc1stgdb15
> >                 Iface IPaddress: 10.1.253.48
> >                 Iface HWaddress: default
> >                 Iface Netdev: eth2
> >                 SID: 4
> >                 iSCSI Connection State: LOGGED IN
> >                 iSCSI Session State: Unknown
> >                 Internal iscsid Session State: NO CHANGE
> >                 ************************
> >                 Negotiated iSCSI params:
> >                 ************************
> >                 HeaderDigest: None
> >                 DataDigest: None
> >                 MaxRecvDataSegmentLength: 262144
> >                 MaxXmitDataSegmentLength: 65536
> >                 FirstBurstLength: 65536
> >                 MaxBurstLength: 262144
> >                 ImmediateData: Yes
> >                 InitialR2T: No
> >                 MaxOutstandingR2T: 1
> >                 ************************
> >                 Attached SCSI devices:
> >                 ************************
> >                 Host Number: 6  State: running
> >                 scsi6 Channel 00 Id 0 Lun: 0
> >                         Attached scsi disk sdc          State: running
> >
> > Jonathan Nantel
> > 



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~----------~----~----~----~------~----~------~--~---

Reply via email to