Apologies for the delay before continuing this thread. A lot of my previous testing had been performed using the "February 2007 CTP" Longhorn release as my server platform, but the Longhorn "Beta 3" had come out just as this thread was starting up. I had presented some of my prior results to Microsoft and one of their suggestions was that I re-run my tests on the Longhorn Beta 3. So far, my re-runs seem to show similar performance, so it seems reasonable to start sharing numbers.
Many of the papers published by Microsoft and referenced by analysts point to improvements in the TCP stack and reduction in the chattiness of SMB2. In a world where TCP could always make use of available bandwidth and app protocols are not chatty, you'd be able to get LAN-like performance only if you had unlimited WAN bandwidth. Despite the predictions for some time that "bandwidth is free" (or soon will be), I can say that the T1 (1536 kbit/sec) remains the standard for branch office connectivity for most customers I speak with, so it looks like bandwidth still isn't free and won't be for some time. Therefore, while it's a valid exercise to consider TCP/SMB2 efficiency improvements without regard for bandwidth, I'd like to note for the record that the results may not be directly applicable to many environments.
Nevertheless, for the sake of argument let's assume the "bandwidth is free" premise. I set up a test lab with client systems running XP and Vista and server systems running Windows 2003 Server and Longhorn Server Beta 3. For my WAN I simulated a GigE pipe (so, effectively unlimited bandwidth) but with 100 ms round-trip latency (typical of a cross-oceanic link).
As a simple first test, I performed drag & drop operations of a 6.3 MB Excel file in both the XP/2003 environment and the Vista/Longhorn environments. What we found in the XP/2003 environment is that the transfer time was about 20 seconds, and this is due in large part to the fact that the chattiness of CIFS prevents the use of the available bandwidth. Performing the same operation in the Vista/Longhorn environment, we saw some improvement, though it was not dramatic and in fact somewhat inconsistent. While we found that the SMB2 protocol seemed to "ramp up" to use available bandwidth where CIFS did not, by no means did it ramp up as aggressively as we'd expect with a truly "WAN-friendly" TCP protocol. In fact, we found that sometimes this ramp-up was somewhat timid (resulting in a total transfer time of ~10 seconds) and sometimes more aggressive (resulting in a total transfer time of ~5 seconds). The charts below include four sample runs for the Vista/Longhorn case (showing two instances of the "timid" behavior and two "aggressive" runs).
We found this strange enough that we repeated the drag & drop 30 times and found this to always be the case: Sometimes it would take 10 seconds, sometimes 5 seconds, and it didn't seem to make any difference how long we waited between transfers.
Overall, the Vista/Longhorn results show improvement compared to XP/2003, but it's not what we'd call dramatic improvement, and in my opinion would be a stretch to consider 2-4x improvement "LAN-like". By comparison, introducing Steelheads into the XP/2003 (CIFS) environment, a cold (first pass) run with Steelhead optimization came in at 1.6 seconds and a warm (second pass) run came in at 0.5 seconds. This speaks to the power of an approach that not only removes all unnecessary TCP and app-level chattiness but performs Data Streamlining to minimize how much has to traverse the WAN. Indeed, because so much Data Reduction was performed on the warm pass, the sub-second result would be as true for a tiny link as it was for this GigE link, while the same cannot be said for the 2-4x improvement we saw from Vista/Longhorn.
Finally, as for the question of whether supporting SMB2 would be a large effort for Riverbed, you can be sure it's not an overnight job, but we're obviously proud of our engineering talent and we think we have a record of delivering . If you look at the RiOS v1.0 product, our Application Streamlining support basically consisted of CIFS and MAPI2000. In subsequent releases we've delivered support for MAPI2003, MS-SQL, NFS, HTTP, and so forth. While SMB2 is in many ways "new", our existing expertise in working with CIFS puts us in a good position to extend our support to SMB2.
I have some other results that include "inside-the-app" operations for MS Office and AutoCAD, but rather than flood the board, I'd be interested to hear if folks have questions or comments on these results before I post more. Thanks!
Message Edited by bgilbert on 01-28-2009 04:12 PM
Message Edited by bgilbert on 01-28-2009 04:13 PM