hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-M...@spaggiari.org
Subject Re: Performance Issue/JBoss/HttpClient ...
Date Mon, 26 Jan 2004 03:18:31 GMT
Please let me sumurized ...

I have 2 computer.

1 with JBoss know as the server, and 1 with eclipse and JBoss, know as the
workstation.

Both JBoss are working in clusturing when started.

When I start JBoss on the serveur and the Swing application client on the
workstation, connecting to the serveur, is working fine.

When I start JBoss on the workstation and connecting the Swing application
on workstation too, it's working fine.

When I start JBoss on workstation and on server, and I connect the swing
application on the workstation, it's working fine.

When I start JBoss on workstation and on server, and I connect the swing
applicatino on the serveur, it's not working :(

In the client application, I'm calling many time the same object for
transfert data. The first time, it's working fine. But the second time,
it'm waitin 1m for the response. I have look on the network with tcpdump,
and the workstation is sending information to server only after a 45s
laps. So, it's not comming from the server.

What I don't understant is why it is working fine for the first connexion,
but not after. Maybe I have miss something ?

Here is my code for sending information. Did you see wrong path ?

{
ByteArrayOutputStream os = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
Hashtable table = new Hashtable ();
table.put(HANDLER, handler);
table.put(SOUSHANDLER, sousHanler);

if (donnees != null)
	table.put(DONNEES, donnees);
oos.writeObject(table);
oos.flush();

PostMethod post = null;
post = new PostMethod("http://192.168.23.1:8180/FrontServlet");
post.setRequestHeader(new Header("User-Agent", "Mozilla/5.0 (X11; U; Linux
i686; en-US; rv:1.6b) Gecko/20031210"));
post.setRequestBody(new ByteArrayInputStream(os.toByteArray()));

oos.close ();
os.close ();


client.executeMethod(post);

is = post.getResponseBodyAsStream();
actif = true;
}

And a thread is reading "is". When the stream is finish, I don't do any
particular things ... Need I ?

JMS.

> About my investigation ...
>
> At the line 109 of org.apache.commons.httpclient.HttpParser, i'm waiting
> 45s for ending of ch = inputStream.read() ... So, it seems it's
> independent of HttpClient ... But that I don't understand is that the
> server do not received anything the 40 first seconds. So, why us
> HttpClient or my computer waiting 40s before sending request only when
> Jboss is active ? I don't know. Is the send metho of HttpClient multi
> threaded ? I will look now in this direction, by at this time, I have no
> idea where is the probleme :(
>
> It's not from log metho because isDebugEnabled return false.
>
> I will continue and give you some news soon (I hope).
>
> JMS.
>
>> Make sure you use HTTP_CLIENT_2_0_BRANCH tag when checking the source
>> code out. CVS HEAD contains development version (pre 3.0-alpha) which is
>> no longer API compatible with 2.0
>>
>> Keep us posted on the progress of your investigation
>>
>> Oleg
>>
>> On Mon, 2004-01-26 at 00:06, Jean-Marc@Spaggiari.org wrote:
>>> Client side :
>>> 2004/01/25 17:40:21:346 EST [DEBUG] EntityEnclosingMethod - -Request
>>> body
>>> sent
>>> 2004/01/25 17:41:20:467 EST [DEBUG] wire - -<< "HTTP/1.1 200
>>> OK[\r][\n]"
>>>
>>> Server side :
>>> 17:41:19,113 INFO  [STDOUT] Here !
>>>
>>> I have synchro my both machine with ntpdate ...
>>>
>>> I have try with setConnectionStaleCheckingEnabled(true); and
>>> setConnectionStaleCheckingEnabled(false); but it's not working any
>>> more.
>>>
>>> Here are my log levels (int $JBOSSHOME/server/all/conf/log4j.xml) :
>>>
>>>    <category name="org.apache.commons">
>>>       <priority value="ERROR"/>
>>>    </category>
>>>
>>>    <category name="org.apache.jcs">
>>>       <priority value="INFO"/>
>>>    </category>
>>>
>>>    <!-- Limit JBoss categories to INFO -->
>>>    <category name="org.jboss">
>>>      <priority value="INFO"/>
>>>    </category>
>>>
>>>
>>> And all my log files was empty.
>>>
>>> I think I will take the src files of HttpClient from CVS and try to
>>> trace
>>> into what's wrong with my configuration :(
>>>
>>> JMS.
>>>
>>>
>>> > Jean-Marc,
>>> > At the moment I tend to think that the problem seems to be on the
>>> > server-side. See if JBoss' logs can reveal anything useful.
>>> >
>>> > Another thing to try is disabling stale connection check
>>> >
>>> > SimpleHttpConnectionManager connman = new
>>> SimpleHttpConnectionManager();
>>> > connman.setConnectionStaleCheckingEnabled(true);
>>> > HttpClient client = new HttpClient(connman);
>>> >
>>> > http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/HttpConnection.html#setStaleCheckingEnabled(boolean)
>>> >
>>> > See if that makes any difference in terms of performance
>>> >
>>> > Oleg
>>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> commons-httpclient-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> commons-httpclient-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org


Mime
View raw message