Hi Mike,

Cool. So what we have now with novnc is our Grails application, which sends through an Apache instance, in front of a bunch of nodes, where we run the sessions(around 400 at any given time). Each node has novnc/websockify on it, which is a recent change, by another coworker for performance, before we had a couple of websockify instances in front of the nodes. Each session usually has one user working on it, but could share it with more people. On the nodes we run one of several CAD like applications. I don't know all the specifics of the servers, but I know the nodes have dedicated GPUS and a good amount of memory.

For the POC I did, I had the connection setup in our Grails webapp, and guacd on the nodes. However, we are also spreading out into multiple  data centers, to reduce latency. So what I'm thinking of doing is spiting the websocket connection out into a separate webapp/service, decoupling that part from the main app, and have the client route/connect based on the data center the node is started on.

Thanks,
Tucker

On Wed, May 31, 2017 at 9:57 AM, Mike Jumper <mike.jumper@guac-dev.org> wrote:
On Wed, May 31, 2017 at 6:49 AM, Dogbert <virtualdogbert@gmail.com> wrote:
> Hi,
>
> So general question to anyone and everyone using guacamole. A while back I
> did a POC using guacamole in place of noVNC, using Grails, as the back-end.
> Now looking to take the next step, and I was wondering how well does a
> single node of guacamole scale in other peoples experience? To clarify what
> I mean when I say scale, how many sessions, have you been able to run on one
> server? What configurations have people used to scale up what they can
> support? Does anyone have any suggestions, or rules of thumb they've figured
> out on the way. Thanks for any ideas, suggestions, or responses.
>

I've actually been performing load tests against various common
instance types on EC2 recently, so I should have some good numbers and
best practices for scaling soon...ish. In the general case, throwing a
balancer in front of guacd and pointing the webapp at that balancer
works well, and allows you to add/remove guacd nodes as necessary
(though until there exists a balancer which is aware of the Guacamole
protocol, doing so will prevent Guacamole's screen sharing support
from working).

Do you have any idea of how many concurrent users you are intending to
support (at peak), and what kind of tasks those users will be
performing on average? What are the specifications of your current
server?

Thanks,

- Mike