This content has been marked as final. Show 5 replies
I don't know the remedy for the XDMCP - but I have been using NX Nomachine client (on Ubuntu and Windows and Nokia N810) to connect to my server box at work (running NX Nomachine server on that box) from outside. The GUI drawing speed for sqldeveloper and dbsolo is quite satisfactory.
I know this is a common issue with invoking many GUI intensive applications remotely and sending the graphics to the remote machine. We also use Exceed On Demand (EOD) at work, but that requires a commercial license. However, the NX Nomachine for a single box up to 2 connections is free. NX and EOD handles compressions both ends (client and server), therefore performance is pretty good.
This is their homepage:
hope this proves helpful
Zaferaktan, thank you for your suggestion about NX Nomachine. I could have a look at it, but using NX means installing software on those workstations, which is a potential problem - the admins of those machines have a very strict policy of what can be installed there.
So I'm still looking for ways to improve the SQL developer's performance over XDMCP or some settings to speed up XDMCP protocol. As I see it, it is (mostly) an application issue, not protocol's, because other GUI intensive apps work just OK over XDMCP, for example I can use Opera browser remotely over XDMCP just fine with satisfactory performance over a slow link, whereas SQL developer is unusably slow over that same link.
- Is there some parameter for java virtual machine to make it faster - i.e. less frequent redraws, lower the number of colours or something like that (I'm just throwing in ideas)?
- Is there anything that can be done in the SQL developer (tweaking some settings)?
- Any undocumented parameters?
- Maybe the developers could do something (if it is not too radical and requires too much work) in the source code of SQL developer to make it more "remote access" friendly ?
- some unix/linux guru has a tip for speeding up the XDMCP protocol ?
Thanx for the info.
I will try the suggested actions ASAP.
Meanwhile, I found an detour around my problem. Since I have to connect to the specific intermediate workstation first (and from there to the database servers), I put a port forwarding ssh session on that workstation, which forwards specific ports to designated ports on various database servers, for exapmle, port 44444 to 1521 on DBS1, 44445 to 1521 on DBS2 etc. This way I can connect with SQL Developer to the intermediate workstation on specific port, which then connects me to the desired database. The obvious difference from XDMPC session is, that I need to have:
- port forwarding active on intermediate workstation
- localy installed SQL Developer
This is an example of ssh statement running on intermediate workstation:
ssh -L 44444:xxx.yyy.zzz.www:1521 -L 44445:xxx2.yyy2.zzz2.www2:1521 -L 44446:xxx3.yyy3.zzz3.www3:1526 firstname.lastname@example.org -g -N
here xxx.yyy.zzz.www means IP address of your database server,, so 44444:xxx.yyy.zzz.www:1521 would be that connection to port 44444 on intermediate workstation would be forwarded to database server xxx.yyy.zzz.www to port 1521. user@ means your local user on intermediate linux workstation.
In SQL developer I define a connection as IP_of_intermediate_wks:44444:service_name which connects (gets forwarded) to the xxx.yyy.zzz.www:1521:service_name
This kind of connections works quite fast and SQL Developer running localy with remote database is normally usable.. However, this is not a replacement for XDMCP because not all thngs can work this way, for example; if you try to set up such a port forwarding for an database console session ( 55555:xxx.yyy.zzz.www:1158) you would get only a login screen, but after that the connection would fail because all addresses of dbconsole are hardcoded with 1158 port (which is not forwarded on the intermediate workstation).
So running SQL Developer over XDMCP would still be a preffered method, since other things (browser) work fine over XDMCP and you don't have to have localy installed SQL Developer (which means you can use any linux workstation) .
I will report how it goes with suggested modifications.
Edited by: Aleksander Stopar on Apr 8, 2011 2:02 AM
I have to say that I tried the following (as per suggestion):
1.) added to sqldeveloper.conf
2.) added to script that starts sqldeveloper (sqldeveloper.sh)
and I have to say that the speed over XDMCP is better than I expected. It is no speed demon (a bit of lag when typing), but totaly usable (screen refreshes are fast enough, tree nodes expansions are quick, switching between the SQL Worksheets is fast, switching between the sql area and result grid and back is also quick. Overall I'm positively surprised and delighted. Now I can run SQL Developer over XDMCP!
Thanx for the tip!!!