Re: Why is JNDI so slow by nature
Aleksander Bai <[email protected]> Tue, 26 May 2009 18:30:52 +0200
| Newsgroups | gmane.comp.java.sun.rmi |
|---|---|
| Organization | ProgNett AS |
| Message-ID | <000601c9de1f$55d821b0$01886510$@no> |
Hi, And thanks for answering. Results when connection to server1 and server2 (both outside the local network): Start: 0 InitialContext : 0,049 Lookup: 6,972 Results when connection to localhost: Start: 0 InitialContext : 0,083 Lookup: 0,316 Pinging server1 and server2 takes about 19-20ms. Any ideas or anything else I can test? Alex From: John Cohen [mailto:[email protected]] Sent: 26. mai 2009 17:58 To: [email protected] Subject: Fwd: Why is JNDI so slow by nature ---------- Forwarded message ---------- From: John Cohen <[email protected]> Date: Tue, May 26, 2009 at 11:55 AM Subject: Re: Why is JNDI so slow by nature To: Gregg Wonderly <[email protected]> Hey, your email is not clear to me. You mentioned that you tested with different Application Servers and the server connection was not the problem... Can you run the below code using different application servers and let me know the output. import javax.naming.Context; import javax.naming.InitialContext; import java.util.Collection; import java.util.Properties; public class ClientLoginDemo { public static void login() throws Exception { printTime("Start application: "); Properties env = new Properties(); env.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); // Your server here. in your case will be: serverURL env.setProperty(Context.PROVIDER_URL, "jnp://localhost:1099/"); printTime("InitialContext start"); InitialContext context = new InitialContext(env); printTime("InitialContext stop"); printTime("Lookup start"); ILoader loader= (ILoader)context.lookup("Platform/remote"); printTime("Lookup stop"); } public static void main(String[] args) throws Exception { ClientLoginDemo.login(); } } On Fri, May 22, 2009 at 12:09 PM, Gregg Wonderly <[email protected]> wrote: Distributed Garbage Collection (DGC) can often play a part in these delays by creating additional calls to the remote VM to check on liveness of the object. If you can, I'd suggest using stack dumps to asses where in the call chain things are at when these delays occur. That should give you a lot more information about what is actually going on. Gregg Wonderly Aleksander Bai wrote: Hi, We have an environment with Jboss (running ejbs) and a standalone application. To connect we use JNDI, but it's quite slow (averaging around 7 seconds, but depending on the connection site's internet speed it can be as long as 30 seconds). This does not happen running the (jboss) server localhost (obviously). We've tried with several servers. There isn't a problem with the server connections, because both apache and ssh connects under less than a second. The Context is configured like this: Hashtable<String, String> env = new Hashtable<String, String>(); env.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); env.put(InitialContext.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); env.put(InitialContext.PROVIDER_URL, serverURL); env.put("jnp.timeout", "10000"); env.put("jnp.sotimeout", "5000"); final ILoader platformLoader = (ILoader) ctx.lookup("Platform/remote"); Is JDNI slow by nature, or is it a configurable thing? Can jboss play a part in this role? Hope this is the correct place to ask for help. :) Best regards, Alex =========================================================================== To unsubscribe, send email to [email protected] and include in the body of the message "signoff RMI-USERS". For general help, send email to [email protected] and include in the body of the message "help". For a list of frequently asked RMI questions please refer to: http://java.sun.com/j2se/1.3/docs/guide/rmi/faq.html To view past RMI-USERS postings, please see: http://archives.java.sun.com/archives/rmi-users.html =========================================================================== To unsubscribe, send email to [email protected] and include in the body of the message "signoff RMI-USERS". For general help, send email to [email protected] and include in the body of the message "help". For a list of frequently asked RMI questions please refer to: http://java.sun.com/j2se/1.3/docs/guide/rmi/faq.html To view past RMI-USERS postings, please see: http://archives.java.sun.com/archives/rmi-users.html =========================================================================== To unsubscribe, send email to [email protected] and include in the body of the message "signoff RMI-USERS". For general help, send email to [email protected] and include in the body of the message "help". For a list of frequently asked RMI questions please refer to: http://java.sun.com/j2se/1.3/docs/guide/rmi/faq.html To view past RMI-USERS postings, please see: http://archives.java.sun.com/archives/rmi-users.html