Am 2015-05-24 um 14:30 schrieb Oleg Kalnichevski:
On Sun, 2015-05-24 at 14:18 +0200, Michael Osipov wrote:
Am 2015-05-24 um 12:17 schrieb Oleg Kalnichevski:
[...]
These are micro-benchmark workers that I use to compare relative
performance of the clients

http://svn.apache.org/repos/asf/httpcomponents/benchmark/httpclient/trunk/src/main/java/org/apache/http/client/benchmark/ApacheHttpClient.java
http://svn.apache.org/repos/asf/httpcomponents/benchmark/httpclient/trunk/src/main/java/org/apache/http/client/benchmark/ApacheHttpAsyncClient.java

Could you please run them against your test URI?

Tests are done, though they were confusing at the first sight. Warmup
and target URIs always point to localhost. I have swapped them for
config.getUri.

=================================
HTTP agent: HttpCore NIO (ver: 4.4)
---------------------------------
10000 POST requests
---------------------------------
Document URI:           ...
Document Length:        0 bytes

Concurrency level:      50
Time taken for tests:   81.198 seconds
Complete requests:      0
Failed requests:        10000

Please note all requests failed for some reason

Content transferred:    0 bytes
Requests per second:    0.0 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Apache HttpClient (ver: 4.4)
---------------------------------
10000 POST requests
---------------------------------
Document URI:           ...
Document Length:        1279 bytes

Concurrency level:      50
Time taken for tests:   4.259 seconds
Complete requests:      0
Failed requests:        10000
Content transferred:    12790000 bytes
Requests per second:    0.0 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Apache HttpAsyncClient (ver: 4.1)
---------------------------------
10000 POST requests
---------------------------------
Document URI:           ...
Document Length:        1279 bytes

Concurrency level:      50
Time taken for tests:   3.667 seconds
Complete requests:      0
Failed requests:        10000
Content transferred:    12790000 bytes
Requests per second:    0.0 [#/sec] (mean)
---------------------------------

Please note that the remote server does not accept any post requests
without several other preparing requests and additionally require a
one-time ticket. Results may be biased.


This is what I would expect: with a concurrency level below, say, 2000
blocking HC should be somewhat faster than async HC.

The document length looks kind of small to me (1279 bytes). Were you not
talking about downloading some huge file and not being able to saturate
network bandwidth?

Your remarks are correct but reread what I have written above:

> Please note that the remote server does not accept any post requests
> without several other preparing requests and additionally require a
> one-time ticket. Results may be biased.

To perform real-world test, I have to rewrite the BenchRunner to perform GET requests only with custom headers filled with one-time-tokens. POST is used to upload files to the server. This is an area I have not analyzed yet. Download is happens more frequently that upload.

This is something I cannot do before next week or June.

The issue is somehwere burried between BIO and NIO.

Thanks for the support!

Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to