O
Oliver Brausch
hello, who can help us at the following problem?
Is it simply so slow for the Weblogic 6.1 or perhaps wrong tuning?
I would be really very grateful for good suggestions!
Oliver Brausch
Web logic is exceptionally slowly server the communication between our
Java client and this.
It stands out that long waiting times arise between the call of the
EJB in the client and
the arrival in the server particularly if data about the EJB interface
are submitted to.
To this end we have test way submitted a simple string with 10000
characters.
One must till the server for server for start Len wait, with " after
call from the client for 85 seconds (!!!):
"SERVER Len: 10000".
A corresponding test with a string of the length of 5000 characters
lasted mostly for 43 seconds but also once
only 5.7 sec mostly.
It always lasted for only 2.7 seconds with 2500 characters but this is
relatively a lot for 2.5 kb of data.
Obviously the server loses much time at the serialization of the data.
It cannot mean much at the performance of the machine (test machine 2
GH pentium, unloaded) and the
network (FTP transfer > 10 MB/sec).
Any magical limit seems by 5000 characters to give at whose
transgression it extremely gets slow.
Client/server code places deciding the version and these here below
once again:
Output:
CLIENT START:
CLIENT _STOP: zeit: 85597 ms
Client:
public void testBea() {
EJBAppManager appManager = null;
SecureServiceLocator ssl = SecureServiceLocator.getInstance();
EJBAppManagerHome appManagerHome =
(EJBAppManagerHome)ssl.getRemoteHome(
JNDINames.EJB_APPLICATION_MANAGER,
EJBAppManagerHome.class,
true);
appManager = appManagerHome.create();
Date dt = new Date();
long ms1 = 0; ms2 = 0;
StringBuffer buf = new StringBuffer("");
for (int i = 0; i < 5000; i++) {
buf.append("a");
}
String strBuf = buf.toString();
ms1 = dt.getTime();
System.out.println("CLIENT START");
String sBack = appManager.testExec(strBuf);
dt = new Date();
ms2 = dt.getTime();
System.out.println("CLIENT _STOP: zeit: "+(ms2-ms1)+" ms");
}
Server:
public class EJBAppManagerBean implements SessionBean {
public String testExec(String sIn) {
System.out.println("SERVER START Len: "+sIn.length());
return "";
}
}
Is it simply so slow for the Weblogic 6.1 or perhaps wrong tuning?
I would be really very grateful for good suggestions!
Oliver Brausch
Web logic is exceptionally slowly server the communication between our
Java client and this.
It stands out that long waiting times arise between the call of the
EJB in the client and
the arrival in the server particularly if data about the EJB interface
are submitted to.
To this end we have test way submitted a simple string with 10000
characters.
One must till the server for server for start Len wait, with " after
call from the client for 85 seconds (!!!):
"SERVER Len: 10000".
A corresponding test with a string of the length of 5000 characters
lasted mostly for 43 seconds but also once
only 5.7 sec mostly.
It always lasted for only 2.7 seconds with 2500 characters but this is
relatively a lot for 2.5 kb of data.
Obviously the server loses much time at the serialization of the data.
It cannot mean much at the performance of the machine (test machine 2
GH pentium, unloaded) and the
network (FTP transfer > 10 MB/sec).
Any magical limit seems by 5000 characters to give at whose
transgression it extremely gets slow.
Client/server code places deciding the version and these here below
once again:
Output:
CLIENT START:
CLIENT _STOP: zeit: 85597 ms
Client:
public void testBea() {
EJBAppManager appManager = null;
SecureServiceLocator ssl = SecureServiceLocator.getInstance();
EJBAppManagerHome appManagerHome =
(EJBAppManagerHome)ssl.getRemoteHome(
JNDINames.EJB_APPLICATION_MANAGER,
EJBAppManagerHome.class,
true);
appManager = appManagerHome.create();
Date dt = new Date();
long ms1 = 0; ms2 = 0;
StringBuffer buf = new StringBuffer("");
for (int i = 0; i < 5000; i++) {
buf.append("a");
}
String strBuf = buf.toString();
ms1 = dt.getTime();
System.out.println("CLIENT START");
String sBack = appManager.testExec(strBuf);
dt = new Date();
ms2 = dt.getTime();
System.out.println("CLIENT _STOP: zeit: "+(ms2-ms1)+" ms");
}
Server:
public class EJBAppManagerBean implements SessionBean {
public String testExec(String sIn) {
System.out.println("SERVER START Len: "+sIn.length());
return "";
}
}