Link to home
Create AccountLog in
Avatar of RGNCM Expert
RGNCM Expert

asked on

VNC Slowdown with multiple connections - Speed limited by slowest user

We are using ULTRA VNC (uvnc.com)


VNC sessions seem to slow down to the speed of the slowest concurrent user on a single computer.


* Remote access to our data center is via an Internet VPN

* Users are connected to the internet with various speeds.

* When multiple users VNC into the SAME shared computer, the VNC Sessions for all other users on the same system seem to slow down.  Sometimes to a halt, if a new user has a VERY SLOW internet connection.

* If all users on a single VNC Host have fast internet speeds, there is NO PROBLEM.


If we disconnect the user with the slow connection, everything improves.


How can we prevent this from happening?  Are there any more efficient VNC host programs or settings? Some buffer that can be increased?


thanks






Avatar of Wayne88
Wayne88
Flag of Canada image

I don't have a direct answer for your question as there too many variables. You can try adjusting color depth, limiting screen resolution to improve the amount of data transfer but VNC imo is not the best remote software you can deploy for your purpose.  Is there a reason why you chose this method?


You can share a PC for multiple users at the same time using remote desktop

Avatar of RGNCM Expert
RGNCM Expert

ASKER

We use VNC.  That can not be changed at this time.


The issues is not that the speed is slow.  It's that it SLOWS down to the speed of the slowest concurrent user.


Changing the other parameters will still result in a connection speed limited by the slowest.


Once the slower VPN user disconnects, the speed goes back up.


VNC was never a really good interface for sharing with multiple users.  


Perhaps the person coming in through the VPN should lower their settings and drop the colors down to 256 or 64 or even 8.  And change the bandwidth settings and even try ZYWRLE.

User generated image


Not the issue here.


This question is : why does everyone's VNC slow down to the lowest users internet speed, and how do I stop that from slowing down everyone else?


A buffer or other software to interface between VNC and the users?


Any ideas?





I gave you the possible solution to that 2nd part of your question.  I don't really know the first part.  I suspect that VNC has only a single interface and has to slow down to adjust to the response from each user.  This means that it has to completely slow down to match the slowest user to keep all the images updated properly.


If you change the client speed on the slow user, you might be able to speed up the response for everyone else.

Can you confirm your theory by having two connected only with one of them having the slowest feed and see if that is true or the issue is coincidental when five users connect.

Hey Arnold, 


We have confirmed that when multiple (5 or more) users connect at LAN speeds (from other machines on the local network) there is not a slowdown.

So - slowdown not caused by MULTIPLE users at one time


When we have two users at one time, and one is connected with a VPN over a slow internet connection (< 100Mbs/20Mb) and the other is a super fast connection (FiOS 900Mbs/900Mbs) the VNC session for the Fast user is lagging with the same response time as the slow connection user.

When Mr SlowSlowpoke's VNC session ends, Captain FiOS is back to normal speeds.


SerialBand : Yes you are correct. IF we could get the user to convince their cable company to actually provide a decent service level, everyone would be right as rain.  But that's not an option.  We have to try to solve the problem from the other end.  Hence my question about some kind if VNC Buffer software - We used an RS-232 buffer many years ago to solve this kind of problem where we were talking to an old Red/Green/Orange LED board from TransLux that operated at 1200 Baud.  We buffered the output at 9600Baud, and spoon fed it at 1200 Baud to the display.


Ken




If the person connects via VPN, why not use RDP to connect?

Sparing others.

Is it possible the VPN connection is what causes lag on the router?

I.e. establish VPN but do not connect to VNC, slow down seen or not?

Have you tried having the remote user change the client connection resolution settings to speed up their connection as I suggested in my first comment?


Are the users using individual desktops or sharing the exact same screen?


VNC is going to generally be slower than RDP.  VNC basically shares the screen as full size images, hence a "screen share" software.  RDP uses Windows API, so many Windows elements update locally using descriptors, and not a huge graphic image uploading constantly.  It's not a direct screen share.

Arnold / Serial : Good points all around - 


Going back to original statement : we use VNC , that's not changing. If we RDP into the machine it will create a NEW session, not what we want.  Everyone shares the SAME VNC screen, all users need to interact with the same screen.


Screen Resolution change - Nope - screen is the size it needs to be. not larger or smaller, same for color depth - to some extent. but that's not the issue.


The VPN connection is to our edge router, not directly to the destination PC, every VPN is isolated and does not affect others.


Again - Goes back to my initial posit : Leaving everything else the same, how do we prevent a slowpoke connection from slowing down all the other connections into the same host computer?


My other thought was to have 2 VNCs running on the host, on different ports, 9500, 5905, and have the slowpoke connect to 5905 on his own.   But I don't even know if that's a possible option.  Any thoughts on that?


Ken

I guess I am not clear with your setup. On VNC are they all in the same session, or does each one has rheir own? That shared session may explain why all drop to the slowest

Arnold, 


100% Correct!  Now, let's circle back to the original question: How can we prevent this from happening? 


Ken



I already made a suggestion.  Is the remote user not willing to make the change to the client settings?


You can run multiple VNC on separate ports.  Back aronud 2008 or 2009, I forced separate sessions to a Mac that way.

If it is the same session the feed has to sync such that the slowest one controls for the chamge.

Consider a conference call, with 5 users and one requires a lower cadence and better innunciatiion.

What is the system in use? Would it not be the case that the RDP session could match?

Look at RDP see if you connect to the admin, console session.

VNC is an overlay to the running session...

Serial: I am looking into running two servers on the shared machine. but these are windows, so its a little more troublesome than on OSx which is for the most part Linux.


Arnold: absolutely right on the conference call analogy --- now, lets add in a helper for the slow guy, and we've got the solution.


RDP will not work.


thanks all - i've got a few things to try 


Ken

ASKER CERTIFIED SOLUTION
Avatar of serialband
serialband
Flag of Ukraine image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
I think you might run into a different type of issues with two VNC servers tied to the same session.
I do not understand with the VNC bound to the session, how you think the RDP will interfere?

Presumably all users use the same windows credentials

Mstsc /f /admin /v:lan_ip_of_this_system
This should attach the RDP session to the running one.

Testing is a necessity in your situation.

Arnold : RDP is not an option. I have reiterated this every time.


Serial: Agreed.  I need to find the time to PERSONALLY do this testing.

Do you have a user that js using the console on this system?

You need multiple user tied to the same session via VNC with an exception of one user.
The example provided connects to the console session.

Do you have an option to setup a test RDP with the example provided and access VNC similarly setup to your existing setup.

You are considering running two instances of VNC server.
Would they have contention over peripheral mice/keyboard control or is this a view only type of a session and this is the reason for apprehebtion for the RDP connection?

Arnold

If I asked you for a solution to a coding problem in C## and you gave me Python Code, what good would that be?

Please stop it with the RDP solutions, it is not an option for us. Please. Just. Stop.

Understand, but not the same thing.

Considering my thoufht deala.with one user sitting in front of the computer in question.

Your question dealing with how to get six users on the same user at max speed.

Using VNC to have two instances running on different ports. I have not tried. Nor whether it is posibke and how will it affect the interaction....

Have you tried getting that VPN user to change his client settings?  Maybe that's a much quicker solution.