Java application has performance issue when a mandatory profile is used

This is a tough one. I don't have all the information but (long story short) I have picked up this support issue which I am trying to solve remotely with limited information.

Here is the scenario.

My client has a custom built java application (compiled AFAIK) that runs with IE and is used to fetch images from a server (Details on actual functionality are scant).

What they have noticed is that the application takes up to 7 seconds longer to execute when the user is logged in with a mandatory profile than if they were using a local or roaming profile.

We have checked all the obvious like missing settings but it definitely seems to have something to do with the profile being mandatory. We have taken a roaming profile that works and just changed the ntuser.dat to - and the problem occurs.

I am pretty sussed on user profiles but java is not my area of expertise.

Anyone have any ideas why this application should perform differently just because of the profile used?
LVL 66
Julian HansenAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

The only thing that comes to mind immediatelly is possible differences in the way the permissions and file accesses get handled.

Is there ANY logging that can show where the time goes - does it happen all over the application or only for some operations?
Julian HansenAuthor Commented:
Thanks Venabili,

Yes - we have about 1GB of ProcMon dumps for different scenarios where users are logging on with mandatory and roaming profiles.

I have been through them as best I can but at between 100MB and 190MB per dump there is too much information. I have tried eliminating various processes to see what is going on but the shear quantity of registry accesses by the target application and IExplore.exe are overwhelming.

It is also comparing apples with oranges to a certain extent because the process paths in the two environments are not exactly the same. Apart from the order of things being a bit mixed up they don't always access the registry the same number of times - this does not seem to account for the time gap though - I could not find any point where there was definitely a jump that would point to the issue.

The only thing I did find in one of the dumps only was where the javaw.exe environment suddenly started creating a bunch of threads - (about 15 of them) - and then destroying them - this took about 4 seconds - but it was only in one of the dumps.

This is pretty much where I am now and why I am stumped.

The obvious solution is to go back to the developers - but apparently that is not an option
>> My client has a custom built java application that "runs with IE"

Is it a java-applet or a stand-alone java application?

If its a java applet you can try out a few things:
1. to make sure if, for some reason, the network access is slow, use a proxy such as fiddler to see time taken for each request
2. On the system tray java console, take frequent thread dumps and inspect the stack -- they might give a hint if there's any java security policy is causing this
(I frankly do not expect any of this)

From procmon dump, filter the list with your process of interest and compare timestamps for the faster and slower. I have found it mostly helping out in such issues. (you might see death by thousand cuts rather than a single operation causing a lot of delay)

Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

I see that the difference in 7 seconds? what is the absolute time taken in each case? slower by what percentage?
Julian HansenAuthor Commented:
Thanks for the response, syskrash

Difference is around 6-7 seconds to 14-17 seconds.

the process we are looking at as javaw.exe - which I assume means this is an applet. I am currently around 14,000Km from the client so don't have the means to check anything other than what I receive through emails.

I have filtered out the process (in this case javaw.exe) and had a look - but there are 56,000 entries and it is difficult to see where the time is going loopy.

Also, as I understand things the application running according to procmon does not match what the user is seeing - what I means is the start and stop times of the process don't necessarily match the start and stop times of what the user sees appearing on the screen (which is what they are using to measure the time difference).

Responding to your points above
1. Network - we pretty much ruled this out through repeated tests from the same workstation to the same server only changing the type of profile. Consistently 6-7 seconds on a Roaming profile and consistently 14-17 sec on the Mandatory - so I don't think the network comes into play.

2. I can try and explain how to do this to the guys on site - but I am not sure I know exactly what to do - and they are asking me so that gives you some idea on the skills chain involved

Not ideal but that is what I have to work with - I thought there might be something obvious out there the Java Guru's knew about that might help.

Thanks for the response though - every alternative view point is useful providing more perspective.
>the process we are looking at as javaw.exe - which I assume means this is an applet.

Not really - it just meaning that you do not want the console so it can be a swing application really. Can you verify this as a start?

>I thought there might be something obvious out there the Java Guru's knew about that might help.
No known issues with the mandatory profiles. Not that I know about anyway and I have enough installations like this that I would have noticed I think - so it is down to tracking down the real issue.

- Java version?
- IE version?

(just to see if there is something bizzare here)

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Julian HansenAuthor Commented:
Thanks for the response - unfortunately client has not responded so I don't know if they have solved the problem.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.