initiator_host:~ # dd if=/dev/zero bs=1k of=/dev/dsk/c5t0d0 count=1000000
So this is going at 3000 x 1K writes per second or 330usec per write. The iscsi target is probably doing a over the wire operation for each request. So it looks fine at first glance. -r Cody Campbell writes: > Greetings, > > I want to take advantage of the iSCSI target support in the latest > release (svn_91) of OpenSolaris, and I'm running into some performance > problems when reading/writing from/to my target. I'm including as much > detail as I can so bear with me here... > > I've built an x86 OpenSolaris server (Intel Xeon running NV_91) with a > zpool of 15 750GB SATA disks, of which I've created and exported a ZFS > Volume with the shareiscsi=on property set to generate an iSCSI > target. > > My problem is, when I connect to this target from any initiator > (tested with both Linux 2.6 and OpenSolaris NV_91 SPARC and x86), the > read/write speed is dreadful (~ 3 megabytes / second!). When I test > read/write performance locally with the backing pool, I have excellent > speeds. The same can be said when I use services such as NFS and FTP > to move files between other hosts on the network and the volume I am > exporting as a Target. When doing this I have achieved the > near-Gigabit speeds I expect, which has me thinking this isn't a > network problem of some sort (I've already disabled the Neagle > algorithm if you're wondering). It's not until I add the iSCSI target > to the stack that the speeds go south, so I am concerned that I may be > missing something in configuration of the target. > > Below are some details pertaining to my configuration. > > OpenSolaris iSCSI Target Host: > > target_host:~ # zpool status pool0 > pool: pool0 > state: ONLINE > scrub: none requested > config: > > NAME STATE READ WRITE CKSUM > pool0 ONLINE 0 0 0 > raidz1 ONLINE 0 0 0 > c0t0d0 ONLINE 0 0 0 > c0t1d0 ONLINE 0 0 0 > c0t2d0 ONLINE 0 0 0 > c0t3d0 ONLINE 0 0 0 > c0t4d0 ONLINE 0 0 0 > c0t5d0 ONLINE 0 0 0 > c0t6d0 ONLINE 0 0 0 > raidz1 ONLINE 0 0 0 > c0t7d0 ONLINE 0 0 0 > c1t0d0 ONLINE 0 0 0 > c1t1d0 ONLINE 0 0 0 > c1t2d0 ONLINE 0 0 0 > c1t3d0 ONLINE 0 0 0 > c1t4d0 ONLINE 0 0 0 > c1t5d0 ONLINE 0 0 0 > spares > c1t6d0 AVAIL > > errors: No known data errors > > target_host:~ # zfs get all pool0/vol0 > NAME PROPERTY VALUE SOURCE > pool0/vol0 type volume - > pool0/vol0 creation Wed Jul 2 18:16 2008 - > pool0/vol0 used 5T - > pool0/vol0 available 7.92T - > pool0/vol0 referenced 34.2G - > pool0/vol0 compressratio 1.00x - > pool0/vol0 reservation none default > pool0/vol0 volsize 5T - > pool0/vol0 volblocksize 8K - > pool0/vol0 checksum on default > pool0/vol0 compression off default > pool0/vol0 readonly off default > pool0/vol0 shareiscsi on local > pool0/vol0 copies 1 default > pool0/vol0 refreservation 5T local > > > target_host:~ # iscsitadm list target -v pool0/vol0 > > Target: pool0/vol0 > iSCSI Name: iqn.1986-03.com.sun:02:fb1c7071-8f35-eb03-9efb-b950d5bdd1ab > Alias: pool0/vol0 > Connections: 1 > Initiator: > iSCSI Name: iqn.1986-03.com.sun:01:0003ba681e7f.486c0829 > Alias: unknown > ACL list: > TPGT list: > TPGT: 1 > LUN information: > LUN: 0 > GUID: 010000304865b1b400002a00486c29d2 > VID: SUN > PID: SOLARIS > Type: disk > Size: 5.0T > Backing store: /dev/zvol/rdsk/pool0/vol0 > Status: online > > > OpenSolaris iSCSI Initiator Host: > > > initiator_host:~ # iscsiadm list target -vS > iqn.1986-03.com.sun:02:fb1c7071-8f35-eb03-9efb-b950d5bdd1ab > Target: iqn.1986-03.com.sun:02:fb1c7071-8f35-eb03-9efb-b950d5bdd1ab > Alias: pool0/vol0 > TPGT: 1 > ISID: 4000002a0000 > Connections: 1 > CID: 0 > IP address (Local): 192.168.4.2:63960 > IP address (Peer): 192.168.4.3:3260 > Discovery Method: SendTargets > Login Parameters (Negotiated): > Data Sequence In Order: yes > Data PDU In Order: yes > Default Time To Retain: 20 > Default Time To Wait: 2 > Error Recovery Level: 0 > First Burst Length: 65536 > Immediate Data: yes > Initial Ready To Transfer (R2T): yes > Max Burst Length: 262144 > Max Outstanding R2T: 1 > Max Receive Data Segment Length: 8192 > Max Connections: 1 > Header Digest: NONE > Data Digest: NONE > > LUN: 0 > Vendor: SUN > Product: SOLARIS > OS Device Name: /dev/rdsk/c5t0d0s2 > > The IOSTATS on the backing pool show the awful performance when running a DD > to the iSCSI disk form the Initiator host: > > initiator_host:~ # dd if=/dev/zero bs=1k of=/dev/dsk/c5t0d0 count=1000000 > > > target_host:~ # zpool iostat pool0 1 > capacity operations bandwidth > pool used avail read write read write > ---------- ----- ----- ----- ----- ----- ----- > pool0 52.2G 9.45T 26 53 211K 459K > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 4.53K 0 35.3M > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 1.83K 0 14.5M > pool0 52.2G 9.45T 0 4.01K 0 30.6M > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > pool0 52.2G 9.45T 0 0 0 0 > > iPerf Results when connecting to the target from the initiator: > > initiator_host:~ # iperf -c target_host -f MB > ------------------------------------------------------------ > Client connecting to target_host, TCP port 5001 > TCP window size: 0.05 MByte (default) > ------------------------------------------------------------ > [ 4] local 192.168.4.2 port 36309 connected with 192.168.4.3 port 5001 > [ ID] Interval Transfer Bandwidth > [ 4] 0.0-10.0 sec 1097 MBytes 110 MBytes/sec > > Traceroute info for these hosts (they're both on the same Physical and > logical Subnet): > > initiator_host:~ # traceroute target_host > traceroute: Warning: Multiple interfaces found; using 192.168.4.2 @ ce1 > traceroute to target_host (192.168.4.3), 30 hops max, 40 byte packets > 1 sr1521.carnegie (192.168.4.3) 0.294 ms 0.205 ms 0.156 ms > > target_host:~ # traceroute initiator_host > traceroute to initiator_host (192.168.4.2), 30 hops max, 40 byte packets > 1 strauss-san.carnegie (192.168.4.2) 0.234 ms 0.170 ms 0.182 ms > > > This message posted from opensolaris.org > _______________________________________________ > zfs-discuss mailing list > zfs-discuss@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss