You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by Olivier Berthonneau <ol...@nanocloud.com> on 2016/07/18 08:03:03 UTC

Benchmark guacd performance with RDP

Hi there,

I am using Guacamole to interact with Windows sessions over RDP.
In my current configuration I have something like 10 simultaneous sessions
open on the same guacd on a server with 2 cores and 4GB of memory.
Everything works fine but if a user starts doing something crazy like
moving windows really fast, the CPU gets used intensively.

I am trying to measure this and produce a reproducible scenario to
understand when I will have to scale and bring up more guacd.

Has anyone work on such benchmark yet ?

My guess is I will have to code a bot to connect to multiple sessions at
the same time. As I want the session to produce change on the screen to
generate load I was thinking of opening my session with a full screen video
playing a typical usage of a Windows session.

Has anyone any thoughts about this before I jump in ?

- Bertho
-- 
Olivier Berthonneau
Software developer
+33 6 66 80 64 14
www.nanocloud.com

Re: Benchmark guacd performance with RDP

Posted by brian mullan <bm...@gmail.com>.
so there on AWS are there 10 Windows Instances running.

 What size AWS instance are you using?   Indicates vCPU size/number.

What is the internet link speed TO AWS and is it the same for all 10
sessions (re same link used for all 10)?   Inadequate speed or link errors
can definitely cause QoS issues that are exhibited in screen redraw
jaggedness.   If this is a problem it won't be on AWS's end.


On Mon, Jul 18, 2016 at 9:29 AM, Olivier Berthonneau <
olivier.berthonneau@nanocloud.com> wrote:

> Hi Brian,
>
> I haven't tried with Windows's client. I am still in a early stage in my
> testings.
>
> I am monitoring both CPU and RAM used on the Ubuntu server from where
> guacd is running. Guacd is alone on that server so Windows is not a concern
> here.
> I want to test on Amazon, so over the internet.
>
> Just to clarify, in my setup each Windows is a dedicated virtual machine.
>
>
> - Bertho
>
> Le lun. 18 juil. 2016 à 15:22, brian mullan <bm...@gmail.com> a
> écrit :
>
>> out of curiousity have you tried 10 Windows RDP sessions using window's
>> own client & doing the same thing?   what happens?
>>
>> Two other things you didn't mention:
>>
>>    - have you monitored the server's "free" memory utilization while
>>    this is going on (Windows itself needs about 1.2 to 1.4GB depending on what
>>    you have configured,   Then there is the memory required by all the Apps
>>    that are running.
>>    - what is your network speed and is it internet or lan
>>
>> The Guacamole dev's will have to comment on any benchmarking they've done.
>>
>>
>>
>>
>> On Mon, Jul 18, 2016 at 4:03 AM, Olivier Berthonneau <
>> olivier.berthonneau@nanocloud.com> wrote:
>>
>>> Hi there,
>>>
>>> I am using Guacamole to interact with Windows sessions over RDP.
>>> In my current configuration I have something like 10 simultaneous
>>> sessions open on the same guacd on a server with 2 cores and 4GB of memory.
>>> Everything works fine but if a user starts doing something crazy like
>>> moving windows really fast, the CPU gets used intensively.
>>>
>>> I am trying to measure this and produce a reproducible scenario to
>>> understand when I will have to scale and bring up more guacd.
>>>
>>> Has anyone work on such benchmark yet ?
>>>
>>> My guess is I will have to code a bot to connect to multiple sessions at
>>> the same time. As I want the session to produce change on the screen to
>>> generate load I was thinking of opening my session with a full screen video
>>> playing a typical usage of a Windows session.
>>>
>>> Has anyone any thoughts about this before I jump in ?
>>>
>>> - Bertho
>>> --
>>> Olivier Berthonneau
>>> Software developer
>>> +33 6 66 80 64 14
>>> www.nanocloud.com
>>>
>>
>> --
> Olivier Berthonneau
> Software developer
> +33 6 66 80 64 14
> www.nanocloud.com
>

Re: Benchmark guacd performance with RDP

Posted by Olivier Berthonneau <ol...@nanocloud.com>.
Hi Brian,

I haven't tried with Windows's client. I am still in a early stage in my
testings.

I am monitoring both CPU and RAM used on the Ubuntu server from where guacd
is running. Guacd is alone on that server so Windows is not a concern here.
I want to test on Amazon, so over the internet.

Just to clarify, in my setup each Windows is a dedicated virtual machine.


- Bertho

Le lun. 18 juil. 2016 à 15:22, brian mullan <bm...@gmail.com> a
écrit :

> out of curiousity have you tried 10 Windows RDP sessions using window's
> own client & doing the same thing?   what happens?
>
> Two other things you didn't mention:
>
>    - have you monitored the server's "free" memory utilization while this
>    is going on (Windows itself needs about 1.2 to 1.4GB depending on what you
>    have configured,   Then there is the memory required by all the Apps that
>    are running.
>    - what is your network speed and is it internet or lan
>
> The Guacamole dev's will have to comment on any benchmarking they've done.
>
>
>
>
> On Mon, Jul 18, 2016 at 4:03 AM, Olivier Berthonneau <
> olivier.berthonneau@nanocloud.com> wrote:
>
>> Hi there,
>>
>> I am using Guacamole to interact with Windows sessions over RDP.
>> In my current configuration I have something like 10 simultaneous
>> sessions open on the same guacd on a server with 2 cores and 4GB of memory.
>> Everything works fine but if a user starts doing something crazy like
>> moving windows really fast, the CPU gets used intensively.
>>
>> I am trying to measure this and produce a reproducible scenario to
>> understand when I will have to scale and bring up more guacd.
>>
>> Has anyone work on such benchmark yet ?
>>
>> My guess is I will have to code a bot to connect to multiple sessions at
>> the same time. As I want the session to produce change on the screen to
>> generate load I was thinking of opening my session with a full screen video
>> playing a typical usage of a Windows session.
>>
>> Has anyone any thoughts about this before I jump in ?
>>
>> - Bertho
>> --
>> Olivier Berthonneau
>> Software developer
>> +33 6 66 80 64 14
>> www.nanocloud.com
>>
>
> --
Olivier Berthonneau
Software developer
+33 6 66 80 64 14
www.nanocloud.com

Re: Benchmark guacd performance with RDP

Posted by brian mullan <bm...@gmail.com>.
out of curiousity have you tried 10 Windows RDP sessions using window's own
client & doing the same thing?   what happens?

Two other things you didn't mention:

   - have you monitored the server's "free" memory utilization while this
   is going on (Windows itself needs about 1.2 to 1.4GB depending on what you
   have configured,   Then there is the memory required by all the Apps that
   are running.
   - what is your network speed and is it internet or lan

The Guacamole dev's will have to comment on any benchmarking they've done.




On Mon, Jul 18, 2016 at 4:03 AM, Olivier Berthonneau <
olivier.berthonneau@nanocloud.com> wrote:

> Hi there,
>
> I am using Guacamole to interact with Windows sessions over RDP.
> In my current configuration I have something like 10 simultaneous sessions
> open on the same guacd on a server with 2 cores and 4GB of memory.
> Everything works fine but if a user starts doing something crazy like
> moving windows really fast, the CPU gets used intensively.
>
> I am trying to measure this and produce a reproducible scenario to
> understand when I will have to scale and bring up more guacd.
>
> Has anyone work on such benchmark yet ?
>
> My guess is I will have to code a bot to connect to multiple sessions at
> the same time. As I want the session to produce change on the screen to
> generate load I was thinking of opening my session with a full screen video
> playing a typical usage of a Windows session.
>
> Has anyone any thoughts about this before I jump in ?
>
> - Bertho
> --
> Olivier Berthonneau
> Software developer
> +33 6 66 80 64 14
> www.nanocloud.com
>

Re: Benchmark guacd performance with RDP

Posted by Olivier Berthonneau <ol...@nanocloud.com>.
Hi Mike,

That makes sense. Thanks for your input !
Do you know if anyone has conducted such tests yet ? How do you make sure
Guacamole remains as efficient from one version to another ?

Thanks,

Le lun. 18 juil. 2016 à 15:58, Mike Jumper <mi...@guac-dev.org> a
écrit :

> On Jul 18, 2016 1:03 AM, "Olivier Berthonneau" <
> olivier.berthonneau@nanocloud.com> wrote:
> >
> > ...
>
>
> >
> > My guess is I will have to code a bot to connect to multiple sessions at
> the same time. As I want the session to produce change on the screen to
> generate load I was thinking of opening my session with a full screen video
> playing a typical usage of a Windows session.
> >
> > Has anyone any thoughts about this before I jump in ?
> >
>
> Hi Olivier,
>
> I would recommend against this approach. Doing this will nullify the
> remote desktop features of RDP (like bitmap caching and copying rectangles
> between surfaces).
>
> The result may look visually similar, but the information that remote
> desktop servers hook into for efficient operation will be gone. The server
> will be forced to do nothing but frequent and large brute-force image
> comparisons, followed by encoding those large areas. This will be orders of
> magnitude more intense than what would happen compared to typical
> operations with respect to processing.
>
> If you want the benchmark to be representative, you will need to script
> the inputs of the user such that the applications running on the remote
> desktop server are actually opened, used in a way typical of a user, etc. I
> don't think there are any shortcuts around that which wouldn't also defeat
> the benchmark.
>
> Thanks,
>
> - Mike
>
-- 
Olivier Berthonneau
Software developer
+33 6 66 80 64 14
www.nanocloud.com

Re: Benchmark guacd performance with RDP

Posted by Mike Jumper <mi...@guac-dev.org>.
On Jul 18, 2016 1:03 AM, "Olivier Berthonneau" <
olivier.berthonneau@nanocloud.com> wrote:
>
> ...
>
> My guess is I will have to code a bot to connect to multiple sessions at
the same time. As I want the session to produce change on the screen to
generate load I was thinking of opening my session with a full screen video
playing a typical usage of a Windows session.
>
> Has anyone any thoughts about this before I jump in ?
>

Hi Olivier,

I would recommend against this approach. Doing this will nullify the remote
desktop features of RDP (like bitmap caching and copying rectangles between
surfaces).

The result may look visually similar, but the information that remote
desktop servers hook into for efficient operation will be gone. The server
will be forced to do nothing but frequent and large brute-force image
comparisons, followed by encoding those large areas. This will be orders of
magnitude more intense than what would happen compared to typical
operations with respect to processing.

If you want the benchmark to be representative, you will need to script the
inputs of the user such that the applications running on the remote desktop
server are actually opened, used in a way typical of a user, etc. I don't
think there are any shortcuts around that which wouldn't also defeat the
benchmark.

Thanks,

- Mike