Login Taking Long? Blame Java’s DNS Look-up

The other day I answered a different article’s comment with a very brief mention of what I’ve been told by SAP-BO was a common tweak. The potential benefit of this simple tweak is large enough to merit its own article. Thank you MarcV for making this apparent. I would like to answer his questions here.

First of all, what tweak are we talking about?

Place entries in the hosts file on all web application servers/hosts/machines/boxes for each of the machines/hosts/servers/boxes running CMS. This tweak is a workaround to resolve Java’s poor, inefficient implementation of DNS look-up.

The computer’s hosts file lists hosts (meaning computers identifiable on the network) that are to be resolved locally and not through the computer’s DNS (domain name server). New hosts are added by listing the IP address of the new host first, followed by at least one space, then the new host’s fully qualified server name, then optionally one could add at least one space and the new host’s short name. Here are some links to a good tutorial of hosts files and a good discussion of hosts files.

Here is what MarcV said:

Can you expand on the last comment? I would love to know more about it, as common tweaks should be… common? I have never seen that tweak mentioned anywhere.

Currently, we host everything on one server (yeah, I know). Should we enter the server’s name and IP in the hosts file as if it were on a separate machine? Using Tomcat for the app server, that would affect pretty much everything that gets served up (logins, screen renders, WebI, Web Services…)

I’m all for speeding things up. What aspects would this affect? WebI/C Reports/LOV/???

Do you know of any consolidated source of “common tweaks”? I usually find one there here, one thing there… which means, you only know about the things that you might be researching if you’re noticing problems. Not knowing about Java having a poor implementation for DNS look-up, we might never have touched on that for our BOXI issues.

I agree, it seems that the use of the word common here was unwarranted. I did not use this tweak until it was mentioned to me by a BO support engineer after working through some deployment issues. He and others after him told me this was a common tweak for Java Application Servers and I took them at their word.

To the best of my knowledge the biggest performance improvement that one can expect from this tweak is to speed up initial login; however, it seems to me that some over operations run a little faster after the tweak is implemented.

In the case you have a one-stop-shop and you are running everything on one server, I believe that you may still see a performance improvement with this tweak. However, you may find that there is already an entry for your server in your server’s hosts file.

Repository of Common Tweaks

I wish there were a single location listing tweaks that one implement on their Business Objects XI system. Perhaps there is none, because those with the knowledge either don’t make the time to document and publish them or they don’t wish to give away for free very valuable information. Nevertheless, we can try to build one here if there is interest. I could start a “tweaks” page and through comments we could communicate our known tweaks which I would then incorporate in the main article.

Enjoyed this post? Share it!


2 thoughts on “Login Taking Long? Blame Java’s DNS Look-up

  1. Interesting article – as to a Tweak Repo – definitely!
    My 2 cents:
    Most Windows admins are unaware as to the available Toolkits – including http://www.microsoft.com/downloads/en/details.aspx?familyid=09115420-8c9d-46b9-a9a5-9bffcd237da2&displaylang=en
    It’s a hog on space with it’s reports and one should only run it at a time of your own choosing but using it recently on a SAP BOE XI3.2 / Tomcat / Windows stack I noticed all those ‘orrible little messages:
    “The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path”

    .. which had me googling around for some further advice and not wanting to drop that library onto the server I came across a Scott’s site: http://www.giantgeek.com/blog/?tag=apache where he suggested:

    1.Go to the following URI’s:
    1.» For Tomcat 5.5.x – http://tomcat.apache.org/tomcat-5.5-doc/apr.html
    2.» For Tomcat 6.x – http://tomcat.apache.org/tomcat-6.0-doc/apr.html
    2.Download the appropriate version of tcnative-1.dll
    3.For Windows, place that file in c:\windows\system32\
    4.Restart your Tomcat server

    There’s also a question around the added benefit of enabling Tomcat compression for BO that I hope to see confirmed soon lol

    Thanks for the info …

Leave a comment

Your email address will not be published. Required fields are marked *