<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>slow file transfer &#8211; Carl Webster</title>
	<atom:link href="https://www.carlwebster.com/tag/slow-file-transfer/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.carlwebster.com</link>
	<description>The Accidental Citrix Admin - The site for those who find themselves supporting Citrix involuntarily or accidentally</description>
	<lastBuildDate>Mon, 11 Feb 2013 06:01:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
<site xmlns="com-wordpress:feed-additions:1">42228915</site>	<item>
		<title>The Curious Case of the Slow File Transfer</title>
		<link>https://www.carlwebster.com/the-curious-case-of-the-slow-file-transfer/</link>
					<comments>https://www.carlwebster.com/the-curious-case-of-the-slow-file-transfer/#comments</comments>
		
		<dc:creator><![CDATA[Bart Jacobs]]></dc:creator>
		<pubDate>Mon, 11 Feb 2013 06:01:42 +0000</pubDate>
				<category><![CDATA[XenApp 6.5]]></category>
		<category><![CDATA[Citrix Reiver]]></category>
		<category><![CDATA[slow file transfer]]></category>
		<guid isPermaLink="false">https://www.carlwebster.com/?p=5427</guid>

					<description><![CDATA[Let’s get started with a bit of storytelling… It all started back in at the end of Q3 2011, I was setting up a new Citrix XenApp 6.5 farm for a&#8230;]]></description>
										<content:encoded><![CDATA[<div>
<p>Let’s get started with a bit of storytelling…</p>
</div>
<p>It all started back in at the end of Q3 2011, I was setting up a new Citrix XenApp 6.5 farm for a migration project at the company I was outsourced at. Back then XenApp 6.5 had been released just a few months earlier.</p>
<p>Everything was looking fine and the migration was going smoothly. A few weeks after the last user was migrated we began seeing some strange behavior. Most of that was solved by implementing new Citrix Access Gateway (CAG)  VPX’s, but one issue remained: accessing client drive mappings was extremely slow. To make matters worse, the application being used needed to transfer PDF’s (not even large ones, mostly around 200KB) from client drives to the server. Although the copy eventually would always complete, performance was far less than what is considered acceptable. At the beginning of the weirdness, we did see some rare picadm.sys messages in the event log, but they went away later on.</p>
<p><span id="more-5427"></span></p>
<p>So after some initial troubleshooting and searching numerous Citrix forums, we came up with the only solution left at that stage: open a support call at Citrix.</p>
<p>Despite the tests we already performed we were initially met with some skepticism. It took quite some convincing that our problem was very real.</p>
<p>Enough for storytelling, let’s get to the facts. These are the results of our first round of testing:</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="79"><strong>Protocol</strong></td>
<td valign="top" width="94"><strong>10mb c-&gt;s</strong></td>
<td valign="top" width="95"><strong>300mb c-&gt;s</strong></td>
<td valign="top" width="85"><strong>10mb s-&gt;c</strong></td>
<td valign="top" width="95"><strong>300mb s-&gt;c</strong></td>
</tr>
<tr>
<td valign="top" width="79"><strong>ICA </strong></td>
<td valign="top" width="94">1.39 s</td>
<td valign="top" width="95">45.47 s</td>
<td valign="top" width="85">2.86 s</td>
<td valign="top" width="95">92.73 s</td>
</tr>
<tr>
<td valign="top" width="79"><strong>RDP </strong></td>
<td valign="top" width="94">0.64 s</td>
<td valign="top" width="95">15.31 s</td>
<td valign="top" width="85">1.82 s</td>
<td valign="top" width="95">43.19s</td>
</tr>
</tbody>
</table>
<p>C-&gt;S stands for Client to Server transfer</p>
<p>S-&gt;C stands for Server to Client transfer</p>
<p>Tests were performed on a LAN-connection, with a firewall between Client and Server.</p>
<p>Just looking at the numbers, you’ll probably get the level of impact of this bug.</p>
<p>However, our luck was turning. For the first time, we did have evidence of the problem in our hands.</p>
<p>After looking at various parameters and tuning, and many months later(!), the problem was identified as being driver-related, and the picadm.sys driver in particular. Yes, that’s right, everything started out with sporadic picadm.sys warnings didn’t it? Citrix Development came up with a fix, actually a double fix: client and server side. They send me private binaries to test with, and the results were amazing.</p>
<p>First round of tests, done with a 12.1 ICA client:</p>
<p><strong>Server078 – not patched server</strong><strong></strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>1    <a href="///\\Client\C$\Temp\&quot; data-mce-href=">\\Client\C$\Temp\</a></p>
<p>100%        New File             206.6 m        20120501_161341.mp4</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Total    Copied   Skipped  Mismatch    FAILED    Extras</p>
<p>Dirs :         1         0         1         0         0         0</p>
<p>Files :         1         1         0         0         0         0</p>
<p>Bytes :  206.65 m  206.65 m         0         0         0         0</p>
<p>Times :   0:04:01   0:04:01                       0:00:00   0:00:00</p>
<p>Speed :              896474 Bytes/sec.</p>
<p>Speed :              51.296 MegaBytes/min.</p>
<p><strong>Server078 – second run (caching?)</strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>1    <a href="///\\Client\C$\Temp\&quot; data-mce-href=">\\Client\C$\Temp\</a></p>
<p>100%        New File             206.6 m        20120501_161341.mp4</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Total    Copied   Skipped  Mismatch    FAILED    Extras</p>
<p>Dirs :         1         0         1         0         0         0</p>
<p>Files :         1         1         0         0         0         0</p>
<p>Bytes :  206.65 m  206.65 m         0         0         0         0</p>
<p>Times :   0:02:52   0:02:52                       0:00:00   0:00:00</p>
<p>Speed :             1253267 Bytes/sec.</p>
<p>Speed :              71.712 MegaBytes/min.</p>
<p><strong>Server578 – patched server</strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>1    <a href="///\\Client\C$\Temp\&quot; data-mce-href=">\\Client\C$\Temp\</a></p>
<p>100%        New File             206.6 m        20120501_161341.mp4</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Total    Copied   Skipped  Mismatch    FAILED    Extras</p>
<p>Dirs :         1         0         1         0         0         0</p>
<p>Files :         1         1         0         0         0         0</p>
<p>Bytes :  206.65 m  206.65 m         0         0         0         0</p>
<p>Times :   0:01:25   0:01:25                       0:00:00   0:00:00</p>
<p>Speed :             2530714 Bytes/sec.</p>
<p>Speed :             144.808 MegaBytes/min.</p>
<p>Test copy on this machine using RDP took 22 seconds.</p>
<p>Second round of tests, with 13.0 ICA client + client patch dll</p>
<p><strong>Server078 – non patched server</strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>1    <a href="///\\Client\C$\Temp\&quot; data-mce-href=">\\Client\C$\Temp\</a></p>
<p>100%        New File             206.6 m        20120501_161341.mp4</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Total    Copied   Skipped  Mismatch    FAILED    Extras</p>
<p>Dirs :         1         0         1         0         0         0</p>
<p>Files :         1         1         0         0         0         0</p>
<p>Bytes :  206.65 m  206.65 m         0         0         0         0</p>
<p>Times :   0:00:27   0:00:27                       0:00:00   0:00:00</p>
<p>Speed :             7938416 Bytes/sec.</p>
<p>Speed :             454.239 MegaBytes/min.</p>
<p><strong>Server578 – patched server</strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>1    <a href="///\\Client\C$\Temp\&quot; data-mce-href=">\\Client\C$\Temp\</a></p>
<p>100%        New File             206.6 m        20120501_161341.mp4</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Total    Copied   Skipped  Mismatch    FAILED    Extras</p>
<p>Dirs :         1         0         1         0         0         0</p>
<p>Files :         1         1         0         0         0         0</p>
<p>Bytes :  206.65 m  206.65 m         0         0         0         0</p>
<p>Times :   0:00:14   0:00:14                       0:00:00   0:00:00</p>
<p>Speed :            14625740 Bytes/sec.</p>
<p>Speed :             836.891 MegaBytes/min.</p>
<p>New run, different file</p>
<p><strong>Server078 – non patched</strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>1    <a href="///\\Client\C$\Temp\&quot; data-mce-href=">\\Client\C$\Temp\</a></p>
<p>100%        New File             197.4 m        App-V-for-RDS-4.6.ISO</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Total    Copied   Skipped  Mismatch    FAILED    Extras</p>
<p>Dirs :         1         0         1         0         0         0</p>
<p>Files :         1         1         0         0         0         0</p>
<p>Bytes :  197.44 m  197.44 m         0         0         0         0</p>
<p>Times :   0:00:23   0:00:23                       0:00:00   0:00:00</p>
<p>Speed :             8757341 Bytes/sec.</p>
<p>Speed :             501.099 MegaBytes/min.</p>
<p><strong>Server578 – patched server</strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>1    <a href="///\\Client\C$\Temp\&quot; data-mce-href=">\\Client\C$\Temp\</a></p>
<p>100%        New File             197.4 m        App-V-for-RDS-4.6.ISO</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Total    Copied   Skipped  Mismatch    FAILED    Extras</p>
<p>Dirs :         1         0         1         0         0         0</p>
<p>Files :         1         1         0         0         0         0</p>
<p>Bytes :  197.44 m  197.44 m         0         0         0         0</p>
<p>Times :   0:00:15   0:00:15                       0:00:00   0:00:00</p>
<p>Speed :            13271302 Bytes/sec.</p>
<p>Speed :             759.390 MegaBytes/min.</p>
<p>Final test round, same set of files used at the start of the case</p>
<p>300Mb files</p>
<p>Client-&gt;Server                  23s</p>
<p>Server-&gt;Client                  35s</p>
<p>Conclusion: together, the performance is dramatically improved and up to standards. But even implementing the fix on just one “side”, there’s a benefit.</p>
<p>The client side fix was scheduled to be part of the Receiver 3.4 release, but at the very last moment didn’t make it. Strangely enough, we did find Receiver 3.4 does improve performance quite considerably.</p>
<p>The server side fix, which will be part of XA650R01W2K8R2X64055, was originaly scheduled to be released eary January 2013, but it was delayed with another month (who’s counting anyway?)</p>
<p>BUT… you will not find any mention of this bug/hotfix in the release notes that will be published. Citrix calls this a “transparent” fix because of the client-side component. This actually just means that the server-side fix is included but release notes will not show it until the client-side fix has been released also. The client-side is scheduled for the next Receiver release, early-to-mid march at this time.</p>
<p><strong>*Update*</strong></p>
<p>Citrix Support just came back to me… the hotfix is not only “transparent”, but it will be kept private until the client-side fix is released…So I suppose it&#8217;s limited and transparent.<br />
And this brings me to the reason for writing this article. The support case has been ongoing for more than a year, and we’re still not there yet. Everytime around the story changes, so much for “transparent” communication…</p>
<p><strong>*Update 2*</strong><br />
Citrix Support confirmed that the client side fix will not be included in the upcoming release of Receiver, due to a lot of regressionn issues. The fix is now scheduled to be included in the release after that. But&#8230; Receiver 3.5 should have been among us already, so who knows what will be included in the next (Excalibur release?) Receiver?</p>
<p>Another surprise&#8230; on april 30th, Citrix released XA650R01W2K8R2X64075, fixing picadm.sys stuff and superseeding XA650R01W2K8R2X64028. Wait a minute&#8230; XA650R01W2K8R2X64055 also superseeded XA650R01W2K8R2X64028. So after checking Citrix Support confirmed that XA650R01W2K8R2X64075 does indeed superseed XA650R01W2K8R2X64055. So the fix Citrix is keeping private is already replaced by a public fix&#8230; I can&#8217;t help to wonder if  XA650R01W2K8R2X64055 will ever see light of day. Or even if we will ever see this bug appearing in release notes of any hotfix for that matter&#8230;</p>
<p>Citrix Support also confirmed that all fixes will be included in the HRP2, out soon&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.carlwebster.com/the-curious-case-of-the-slow-file-transfer/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5427</post-id>	</item>
	</channel>
</rss>
