Starwind/iSCSI and small block sizes

Software-based VM-centric and flash-friendly VM storage + free version

Moderators: anton (staff), art (staff), Max (staff), Anatoly (staff)

Post Reply
Thoro
Posts: 7
Joined: Mon Oct 10, 2011 8:59 pm

Mon Oct 10, 2011 9:09 pm

Hi,

I've two completly identical servers both with 2 x 300 GB SSDs the following are the local transferrates with ATTO Disk Benchmark:

256MB Total Length and QD: 4

0.5: 22912 22854
1.0: 43008 45965
2.0: 79908 79933
4.0: 138990 142054
8.0: 222188 241302
16.0: 227721 289383
32.0: 222564 324967
64.0: 226178 317587
128.0: 221890 316560
256.0: 215646 310671
512.0: 225576 440058
1024.0: 225576 451694
2048.0: 220029 490293
4096.0: 227970 499414
8192.0: 224163 493674

If I connect both Servers to the HA and test again with ATTO i get:

0.5: 1221 3137
1.0: 2295 6144
2.0: 4729 12800
4.0: 9924 25848
8.0: 18244 47104
16.0: 30913 84423
32.0: 61392 148376
64.0: 91840 249853
128.0: 93128 321900
256.0: 174457 436540
512.0: 277883 646832
1024.0: 540474 693143
2048.0: 718440 787585
4096.0: 704723 901222
8192.0: 486957 1094341

As you see the values from 0.5 to 256 aren't really good compared to the lokal disks - is there anyway to improve the performance??

I've enabled MPIO with 5 connections to each server, Jumbo Frames, everything that has to do with Offloading.

They are connected over 2 x 10 GBit/s Ethernet and also get full speed with netio (2 instances ~ 1100 MB/s per port)

Servers are:
Dual E5640 (2.4 GHz HexaCore)
48 GB RAM
Server 2008 R2 Enterprise SP1 and all updates

thanks for any help!!

best regards
Thomas Rosenstein
User avatar
anton (staff)
Site Admin
Posts: 4021
Joined: Fri Jun 18, 2004 12:03 am
Location: British Virgin Islands
Contact:

Tue Oct 11, 2011 9:36 am

Picture you've provided is incomplete:

1) What target type do you use? CDP? D/D? IMG? Do you have write-back cache enabled? Of what size?

2) What OS and what initiator do you use on your client? Do you have properly working MPIO?

P.S. It's better to attach screenshots as well.
Regards,
Anton Kolomyeytsev

Chief Technology Officer & Chief Architect, StarWind Software

Image
Thoro
Posts: 7
Joined: Mon Oct 10, 2011 8:59 pm

Tue Oct 11, 2011 6:01 pm

1) I use: Hard Disk / High Availability - write back cache is enabled with 1024 MB, and 5000 ms cache expiry period

MPIO is activated and all connections say "Active/optimized"

there are 5 to each server - the MPIO Policy is set to Round Robin

2) I'm using Windows Server 2008 R2 Enterprise and the default Microsoft iSCSI Initiator

I'll compose a few screenshots for you and send you the downloadlink per PM

edit: Somehow I can't send you PMs ?!

so here it is:

[ ... ]

I've included a few ATTO Test with different settings

1 local (127.0.0.1) iSCSI Connection
1 remote iSCSI Connection
5 local iSCSI Connections
5 remote iSCSI Connections
5 local and 5 remote iSCSI Connections
local hard disk

then screenshots from Starwind and the iSCSI Dialog and also the MPIO Dialog
User avatar
anton (staff)
Site Admin
Posts: 4021
Joined: Fri Jun 18, 2004 12:03 am
Location: British Virgin Islands
Contact:

Wed Oct 12, 2011 7:52 am

This is strange... Do you use all-around-10 GbE connections for all of the uplinks?

No idea why you cannot send PM but you'd better attach images here - forum allows this. Let us check the images before..
Regards,
Anton Kolomyeytsev

Chief Technology Officer & Chief Architect, StarWind Software

Image
User avatar
anton (staff)
Site Admin
Posts: 4021
Joined: Fri Jun 18, 2004 12:03 am
Location: British Virgin Islands
Contact:

Wed Oct 12, 2011 7:55 am

Now could you please comment attached screenshots. What's where and what test did you run. Thank you!
Regards,
Anton Kolomyeytsev

Chief Technology Officer & Chief Architect, StarWind Software

Image
Thoro
Posts: 7
Joined: Mon Oct 10, 2011 8:59 pm

Wed Oct 12, 2011 8:41 am

Okay,

the images are all from Server 1

Starwind_local.PNG

Screenshot of the "storage.img" configuration

starwind_local.PNG

Second Screenshot of the "storage.img" config

iSCSI.PNG

Image of the iSCSI Window where 5 connections are made locally and 5 remote to the second server

iSCSI_Properties.PNG

Detail of one of the iSCSI Connections (all look the same, except that for the local server there are 5 MPIO Connections and for the remote server there are the 5 sync connections + 5 MPIO Connections)

ATTO_local_disk.PNG

A standard ATTO run on the local disk to get reference values

ATTO_iSCSI_1local.PNG

A standard ATTO run with only 1 iSCSI Connection to the locally running Starwind Server

ATTO iSCSI_1remote.PNG

A standard ATTO run with only 1 iSCSI Connection to the remote running Starwind Server (second server)

ATTO_iSCSI_5local.PNG

A standard ATTO run with 5 iSCSI Connections to the local Starwind Server with MPIO enabled

ATTO_iSCSI_5remote.PNG

A standard ATTO run with 5 iSCSI Connections to the remote running Starwind Server (second server) with MPIO enabled

ATTI_iSCSI_5local_5remote.PNG

A standard ATTO run with 5 iSCSI connections to the local Starwind Server and 5 iSCSI Connections to the remote Starwind Server (second server) with MPIO enabled

-------------------------

The Servers are directly connected over a 2 Port Intel X520-T Network Adapter, cable length is 0,5 m Cat 6A, with NetIO I get around 1120 MB/s per Port - I haven't bonded them
Attachments
A standard ATTO run with only 1 iSCSI Connection to the remote running Starwind Server (second server)
A standard ATTO run with only 1 iSCSI Connection to the remote running Starwind Server (second server)
ATTO_iSCSI_1remote.PNG (26.7 KiB) Viewed 18333 times
A standard ATTO run with only 1 iSCSI Connection to the locally running Starwind Server
A standard ATTO run with only 1 iSCSI Connection to the locally running Starwind Server
ATTO_iSCSI_1local.PNG (26.95 KiB) Viewed 18323 times
A standard ATTO run on the local disk to get reference values
A standard ATTO run on the local disk to get reference values
ATTO_local_disk.PNG (26.35 KiB) Viewed 18328 times
Thoro
Posts: 7
Joined: Mon Oct 10, 2011 8:59 pm

Wed Oct 12, 2011 8:45 am

Here are the other 3 test runs

I've no problem to provide you remote access additional images etc. I just need to know what you'd like to have, because I don't really know what exactly to look for
Attachments
A standard ATTO run with 5 iSCSI connections to the local Starwind Server and 5 iSCSI Connections to the remote Starwind Server (second server) with MPIO enabled
A standard ATTO run with 5 iSCSI connections to the local Starwind Server and 5 iSCSI Connections to the remote Starwind Server (second server) with MPIO enabled
ATTO_iSCSI_5local_5remote.PNG (26.53 KiB) Viewed 18326 times
A standard ATTO run with 5 iSCSI Connections to the remote running Starwind Server (second server) with MPIO enabled
A standard ATTO run with 5 iSCSI Connections to the remote running Starwind Server (second server) with MPIO enabled
ATTO_iSCSI_5remote.PNG (26.09 KiB) Viewed 18320 times
A standard ATTO run with 5 iSCSI Connections to the local Starwind Server with MPIO enabled
A standard ATTO run with 5 iSCSI Connections to the local Starwind Server with MPIO enabled
ATTO_iSCSI_5local.PNG (26.73 KiB) Viewed 18325 times
User avatar
anton (staff)
Site Admin
Posts: 4021
Joined: Fri Jun 18, 2004 12:03 am
Location: British Virgin Islands
Contact:

Wed Oct 12, 2011 8:56 am

Please let us check everything and then we'll probably go remote session way.
Regards,
Anton Kolomyeytsev

Chief Technology Officer & Chief Architect, StarWind Software

Image
Thoro
Posts: 7
Joined: Mon Oct 10, 2011 8:59 pm

Thu Oct 13, 2011 11:40 am

Hi Lodiver,

i've applied the change but it didn't change ANYTHING

to check it again, I've tested with a RAMDRIVE of 5 GB here are my results:

the Access Time is quite good with 0.5 ms, but the small reads/writes just plain suck :(
Attachments
6 connections, 3 over port 1 and 3 over port 2, Queue Depth 10, and 256 MB Size
6 connections, 3 over port 1 and 3 over port 2, Queue Depth 10, and 256 MB Size
ATTO_RAMDISK_6remote_dual_con_depth_10.PNG (27.41 KiB) Viewed 18165 times
6 connections, 3 over port 1 and 3 over port 2, Queue Depth 4, and 256 MB Size
6 connections, 3 over port 1 and 3 over port 2, Queue Depth 4, and 256 MB Size
ATTO_RAMDISK_6remote_dual_con.PNG (27.64 KiB) Viewed 18165 times
5 Connections over a Single Port of the X520-T, Queue Depth 4, and 256 MB size
5 Connections over a Single Port of the X520-T, Queue Depth 4, and 256 MB size
ATTO_RAMDISK_5remote_single_con.PNG (27.34 KiB) Viewed 18161 times
User avatar
anton (staff)
Site Admin
Posts: 4021
Joined: Fri Jun 18, 2004 12:03 am
Location: British Virgin Islands
Contact:

Thu Oct 13, 2011 11:50 am

Compare local I/O and "networked" I/O. Separate numbers tell nothing.
Regards,
Anton Kolomyeytsev

Chief Technology Officer & Chief Architect, StarWind Software

Image
Thoro
Posts: 7
Joined: Mon Oct 10, 2011 8:59 pm

Thu Oct 13, 2011 12:15 pm

yes that's why I made the first tests with the local hard disk test and the networked test to see what the difference is - I've read somewhere that the difference should be about ~10% - is that correct?


then I made the RAM Disk test to completly ignore the physical disk hardware - but also that drive is slow with the small data chunks, so either the network adapter is doing something wrong or the iscsi initiator or starwind

I don't really have comparison values with other systems, but I think my results are odd



I do have another question: is there any way to improve the loopback performance?
User avatar
anton (staff)
Site Admin
Posts: 4021
Joined: Fri Jun 18, 2004 12:03 am
Location: British Virgin Islands
Contact:

Thu Oct 13, 2011 12:21 pm

No it's not correct. You do insert a latency for network and request processing. So on fully booked pipeline when you fire multiple requests in a deep queue there will be no difference in local and networked I/O. But for a short "bursts" you need to add network latency and request processing latency on both sides. Can result 2x - 4x performance degradation.
Thoro wrote:yes that's why I made the first tests with the local hard disk test and the networked test to see what the difference is - I've read somewhere that the difference should be about ~10% - is that correct?


then I made the RAM Disk test to completly ignore the physical disk hardware - but also that drive is slow with the small data chunks, so either the network adapter is doing something wrong or the iscsi initiator or starwind

I don't really have comparison values with other systems, but I think my results are odd



I do have another question: is there any way to improve the loopback performance?
Regards,
Anton Kolomyeytsev

Chief Technology Officer & Chief Architect, StarWind Software

Image
Thoro
Posts: 7
Joined: Mon Oct 10, 2011 8:59 pm

Thu Oct 13, 2011 3:29 pm

Okay so after reading a little bit it seems ATTO is not really an appropriate benchmark (only a queue of 4)

So I've tried SQLIO with two threads and a queue of 8 per thread

Sizes of:

1k
4k
64k

Command Line: (once for size for local and once for each size for remote)
sqlio.exe -kR -s60 -fsequential -o8 -b1 -LS -FC:\param timeout /T 10
sqlio.exe -kR -s60 -frandom -o8 -b1 -LS -FC:\param timeout /T 10
sqlio.exe -kR -s60 -fsequential -o8 -b1 -LS -FC:\param timeout /T 10
sqlio.exe -kR -s60 -frandom -o8 -b1 -LS -FC:\param timeout /T 10

I've used a simple Image File, and two iSCSI Connection over the two X520T Ports with enabled MPIO

64k full speed for random and sequential
4k half speed at sequential, full speed at random
1k quarter at sequential, full speed at random

so anton, do you think there is a way to also get full speed for the 1k and 4k sequentials test? Or is this due to overhead?

And through the various tests I've noticed one thing that really bugs me:
MS Initiator Access Times
MS Initiator Access Times
HDTUNE_Access_Times_6_remote_dual_con_nocache.PNG (46.08 KiB) Viewed 18141 times
Starwind StarPort Access Times
Starwind StarPort Access Times
Starwind_Initator_HDTUNE_Access_Times_1_remote.PNG (48.55 KiB) Viewed 18139 times
As you see the MS Initiator takes quite a time on the max. Access Times, with your (the Starwind StarPort Initiator) the maximum access times are much better, but not as good as on the real device (add network lat. etc)

I've attached the outputfiles as a zip archive
Attachments
SQLIO.zip
6 different sqlio speed tests
(3.86 KiB) Downloaded 1118 times
User avatar
anton (staff)
Site Admin
Posts: 4021
Joined: Fri Jun 18, 2004 12:03 am
Location: British Virgin Islands
Contact:

Fri Oct 14, 2011 10:23 am

There's no way to get wire speed with small requests.
Regards,
Anton Kolomyeytsev

Chief Technology Officer & Chief Architect, StarWind Software

Image
Post Reply