mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luc Willems <willems....@pandora.be>
Subject HTTP client problem under high load
Date Thu, 06 Dec 2007 18:49:52 GMT

	Hello all ,

i have some problem using the HttpClient protocol handlers from 2.0.0 M1 (from 5/12/2007)
i'm creating a kind of HTTP load tool which have around 10 threads using 1000 and more connections
to send HTTP request at a fixed rate (xxx TPS)

on low/medium traffic there is now problem but on high TPS rates when using multible connections
i get 
decode errors like :

2007-12-06 19:45:17,390|main|WARN |minaHTTPLoad.run(39)|banging
2007-12-06 19:45:20,723|pool-4-thread-1|ERROR|HTTPAgent.exceptionCaught(59)|error :Unsupported
HTTP version:  (Hexdump: 00 A1 00 00 00 00 00 80 80 80 BF ... )
	at org.apache.mina.filter.codec.http.HttpCodecUtils.throwDecoderException(HttpCodecUtils.java:156)
	at org.apache.mina.filter.codec.http.HttpVersionDecodingState$1.finishDecode(HttpVersionDecodingState.java:46)
	at org.apache.mina.filter.codec.statemachine.ConsumeToDynamicTerminatorDecodingState.decode(ConsumeToDynamicTerminatorDecodingState.java:83)
	at org.apache.mina.filter.codec.http.HttpVersionDecodingState.decode(HttpVersionDecodingState.java:62)
	at org.apache.mina.filter.codec.statemachine.DecodingStateMachine.decode(DecodingStateMachine.java:77)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)

the request i send is http://<server>/gif/l_arrow.gif

now from the hexdump it seems that the decoder is decoding the gif data as the first HTTP
response line.
i checked the communication with wireshark , and response of the apache server was OK.
i use HTTP keep-alive .

i tried to "lock" the sending thread until the response of the previous request was recieved.
this helps a bit but there are still some Exceptions.
main disadvantage is ofcourse  that it also "blocks" my thread so , NIO (non blocking IO)
is not really the case here.

Is this a know issue with the current MINA 2.0.0 code base ?


View raw message