You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by Luc Willems <wi...@pandora.be> on 2007/12/06 19:49:52 UTC
HTTP client problem under high load
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 ?
luc
Re: HTTP client problem under high load
Posted by Trustin Lee <tr...@gmail.com>.
thanks! let me take a look into it.
Trustin
On Dec 7, 2007 9:01 PM, Luc Willems <wi...@pandora.be> wrote:
> On Friday 07 December 2007 03:20:37 Trustin Lee wrote:
> > I think it's a new issue. Please file a JIRA issue.
> done ,
>
> https://issues.apache.org/jira/browse/DIRMINA-492
>
> test app. is included.
>
> luc
>
--
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP Key ID: 0x0255ECA6
Re: HTTP client problem under high load
Posted by Luc Willems <wi...@pandora.be>.
On Friday 07 December 2007 03:20:37 Trustin Lee wrote:
> I think it's a new issue. Please file a JIRA issue.
done ,
https://issues.apache.org/jira/browse/DIRMINA-492
test app. is included.
luc
Re: HTTP client problem under high load
Posted by Trustin Lee <tr...@gmail.com>.
I think it's a new issue. Please file a JIRA issue.
On Dec 7, 2007 3:49 AM, Luc Willems <wi...@pandora.be> wrote:
>
> 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 ?
>
> luc
>
>
>
--
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP Key ID: 0x0255ECA6