FreeRDP / FreeRDP

FreeRDP is a free remote desktop protocol library and clients
http://www.freerdp.com/
Apache License 2.0
10.99k stars 14.84k forks source link

File transfer slow via tsclient when RDGateway is in use #9983

Closed aresliharris closed 1 month ago

aresliharris commented 7 months ago

Description of the bug

 

The steps to reproduce the bug (a single 20MB test file transfer)

akallabeth commented 7 months ago

interesting find.

a few more questions:

  1. which gateway protocol was used? (http, websocket or older rpc)
  2. for the tests with windows/mac clients, did they use TCP or UDP?
aresliharris commented 7 months ago

interesting find.

a few more questions:

  1. which gateway protocol was used? (http, websocket or older rpc)
  2. for the tests with windows/mac clients, did they use TCP or UDP?

Hi @akallabeth ,

Thank you for commenting on this.

As you can see from the freerdp commend used, the slowness appeared when the connection was established based on the default protocol. From the Windows server side, I believe it's using websocket for the gateway protocol.

The tests with clients, they use TCP. Actually, both UDP and TCP were tested, but none of them made a difference on the file transfer issue.

Best, Ares

akallabeth commented 7 months ago

@aresliharris ok. can you try with explicit gateway config (disabled websocket and another test with rpc if supported by your config)? would be interesting to narrow down if this is a generic issue or just for a specific gateway transport

aresliharris commented 7 months ago

@aresliharris ok. can you try with explicit gateway config (disabled websocket and another test with rpc if supported by your config)? would be interesting to narrow down if this is a generic issue or just for a specific gateway transport

@akallabeth In the latest version freerdp 3.x, I tested all the transport types by using different flags, but none of them worked/performed normal speed file transfer from the shared tsclient drive to the RDP server connected.

Would you be able to provide some guidance if you are talking about changing the gateway transport configs from the Windows server side? I tried to find ways to enforce the transport type from Windows server side, but I haven't been able to.

Thanks, Ares

akallabeth commented 7 months ago

@aresliharris setting client side is enough.

  1. /gateway:type:http,no-websockets
  2. /gateway:type:http
  3. /gateway:type:rpc

do you have any details on speed on each one of these?

it might be simple optimization of some packet sizes or it could be something more complicated. don´t have time to do tests now though, we´re still in the bug fixing stage, so speed improvements usually come later

[edit] oh, and I hope you do the tests without guacamole too? (so plain xfreerdp to have a reference)

akallabeth commented 7 months ago

@aresliharris oh, and most importantly, how does it perform for direct (non gateway) connections for you?

aresliharris commented 7 months ago

It performs normally when gateway is off as we discovered.

Hope this helps.

Thank you, Ares

Ares Li Team Lead, DevOps @.*** +1 778-900-1373 www.cayenta.com This message has been sent on behalf of a company that is part of the Harris Operating Group of Constellation Software Inc. If you prefer not to be contacted by Harris Operating Group please notify us.


From: akallabeth @.> Sent: Wednesday, March 20, 2024 8:29 AM To: FreeRDP/FreeRDP @.> Cc: Ares Li @.>; Mention @.> Subject: [EXTERNAL] Re: [FreeRDP/FreeRDP] File transfer slow via tsclient when RDGateway is in use (Issue #9983)

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

@aresliharrishttps://urldefense.com/v3/__https://github.com/aresliharris__;!!HzYX23eHnp2Wbe4!RUO-jTmxSmq3IARvftEdKtYjMjx25N10VPbK8EHNKJB4V2i9vWslJfMZrA-T-jzQrhBsVN4cYqCf7f8WL-Kp$ oh, and most importantly, how does it perform for direct (non gateway) connections for you?

— Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/FreeRDP/FreeRDP/issues/9983*issuecomment-2009841304__;Iw!!HzYX23eHnp2Wbe4!RUO-jTmxSmq3IARvftEdKtYjMjx25N10VPbK8EHNKJB4V2i9vWslJfMZrA-T-jzQrhBsVN4cYqCf7a_2KwwE$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A5S4E4UFEZUUQOKKFXNUZX3YZGTMBAVCNFSM6AAAAABEWQNDPGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBZHA2DCMZQGQ__;!!HzYX23eHnp2Wbe4!RUO-jTmxSmq3IARvftEdKtYjMjx25N10VPbK8EHNKJB4V2i9vWslJfMZrA-T-jzQrhBsVN4cYqCf7XRW5-Vi$. You are receiving this because you were mentioned.Message ID: @.***>

RobLW commented 5 months ago

Woo I thought this was an issue with the way our IT setup their RDP (something I have no control over unfortunately), I've been having to upload to web storage and download again on the remote system because file transfers has crazy slow.

It seems to "hang" at the start like it's busy checking something before it'll actually start transferring.

When I tried /gateway:type:http,no-websockets it did indeed improve, not to levels you would hope for, but certainly better! /gateway:type:http didn't offer any improvement. In fact in the end my remote screen went all black while I waited and connection timed out. /gateway:type:rpc I am not allowed to connect like this, it seems to break some security rules and denies me access.

github-actions[bot] commented 2 months ago

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] commented 1 month ago

This issue was closed because it has been inactive for 14 days since being marked as stale.