Hi,

Sending the mail without table.

This is Kishore who is working on async poc using mail 
id(kishore25ku...@gmail.com<mailto:kishore25ku...@gmail.com>). I work at adobe 
and we wanted to implement async support for jclouds library and contribute it 
back.

>From the last discussion I was asked to get the performance numbers for the 
>two approaches.
Approach 1: Using Http Async Library
Approach 2: Using Outputstream

Test setup:

1.       Both the s3 proxy server and test runner are running in same Docker 
container in azure west-us region.

2.       Azure storage account is also residing in same west-us region.

3.       A bucket is prepopulated with 100,000 files, each file of 1 MB size 
before test start.

4.       The test runner sends unique requests to s3proxy to download files.

Virtual Machine spec: CPU - 8 cores, Memory - 28 GB (Standard_D4 Azure machine)

S3proxy is running with 1 jetty worker thread in all the scenarios. The payload 
size used is 1 MB file. Here are the performance numbers.

Test Runner Threads          | Iterations per thread    |  Approach            
| Avg response time (ms)          | 99%tile time (ms)      | Throughput 
(Requests/sec)
1                                             | 10,000                          
   | Async Http Lib    | 45                                                | 87 
                                | 22
5                                             | 10,000                          
   | Async Http Lib    | 107                                              | 159 
                              | 47
10                                           | 10,000                           
  | Async Http Lib    | 209                                              | 282  
                             | 48
1                                             | 10,000                          
   | OutputStream    | 41                                                | 85   
                              | 24
5                                             | 10,000                          
   | OutputStream    | 190                                              | 283   
                            | 26
10                                           | 10,000                           
  | OutputStream    | 392                                              | 542    
                           | 25


Summary: Under load Http Async Library approach is providing more throughput 
compared to Output stream approach.


Both the approaches improve performance. The output stream approach can be used 
along with Http Async library approach which is giving around (3-5 ms) 
improvement in latency.

Each approach is independent development. At this point I am keen to take up 
Http Async Library development.

--Thanks
--Kishore

Reply via email to