Posts Tagged linux

improve TIBCO Designer tester performance under linux

I’m using the TIBCO designer for quite a while now. Before using it in a debian environment I developed all TIBCO related stuff in Windows XP. Now with the switch to linux there came quite a shift in user experience. One thing that really annoyed me was the slow performance of the designer debugger.
So I started some measurements with a simple test process. The test process creates a simple list of all files (2000 items) in one folder and then iterates over every entry. Here is what I got:

Windows XP: 194sec
Windows XP (minimized): 6sec
Gnome: 470sec
Gnome (minimized): 4sec

All this data was gathered with the same default installation of a TIBCO designer 5.6 with the default java runtime. The configs were all left untouched. So now I tried to find something to improve that behavior. I first concentrated on how to influence the jvm.
After a bit of research in the TIBCO direction a found the following value in the tra-file which allows the user to pass parameters directly to the jvm:

java.extended.properties

With that information I tried several parameters suggested by google. After a few tries I came to this one:

sun.java2d.pmoffscreen=false

What Sun says about it isn’t really clear to me but it helps drastically to improve performance. Back to my original test I came up with the following timings:

Gnome (pmoffscreen=false): 75sec
Gnome (pmoffscreen=false): 5sec

As you can see it actually surpasses the Windows installation. That was a result I didn’t actually expect. Till now I found no drawback to this solution.
Just for the sake of completeness here my full config line of the designer.tra

java.extended.properties=-Xrs -Xmx3072M -Xms1536M -XX:+AggressiveOpts -XX:-UseParallelGC -XX:-UseConcMarkSweepGC -XX:MaxPermSize=512M -XX:+UseFastAccessorMethods -Xverify:none -Dsun.java2d.pmoffscreen=false

, , ,

3 Comments

tunnel your imap over ssh

I recently had the situation that I needed access to my private email accounts at work. Lucky me, my employee prohibits imap connections to the outer world (security risk). So I had to find a way around that proxy to the mail server.

I stumbled upon an article how to use a persistant ssh connection as tunnel through different networks. So starting at that point and checking the ssh man page I came to the following statement (works only with public key authentication):

ssh -N -L 4510:localhost:25 -L 4500:localhost:143 user@host.net

This statement establishes a connection between the local and the remote host and hereby connects the local port 4510 with the remote port 25 (same with 4500). The next step was easy,I just configured my mail client to read from the imap server localhost:4500 and send mails via localhost:4510.

Now that I had the basics running I needed a way to make this connection persistant.

This could be done via a simple bash script which is called by the cron repeatedly.

#!/bin/sh
COMMAND="ssh -N -L 4510:localhost:25 -L 4500:localhost:143 user@host.net"
pgrep -f -x "$COMMAND" > /dev/null 2>&1 || $COMMAND

This script basicly runs a ps and greps the output for the search string. When the string is not found it runs the string as command. If the string is found nothing would we done.

(I’m aware that clients like evolution have built-in support for ssh tunnelling but I couldn’t get it running smoothly. It had always Problems with disconnects which never appeared with this solution)

, , ,

2 Comments