On Wed, Mar 27, 2019 at 10:48 AM Pekka Enberg <[email protected]> wrote:

> Hi Waldek!
>
> On Wed, Mar 27, 2019 at 12:29 AM Waldek Kozaczuk <[email protected]>
> wrote:
>
>> Last week I spent some time investigating OSv performance and comparing
>> it to Docker and Linux guests.
>>
>
> Nice!
>
> On Wed, Mar 27, 2019 at 12:29 AM Waldek Kozaczuk <[email protected]>
> wrote:
>
>> The test setup looked like this:
>>
>> *Host:*
>>
>>    - MacBook Pro with Intel i7 4 cores CPU with hyperthreading (8 cpus
>>    reported by lscpu) with 16GB of RAM with Ubuntu 18.10 on it
>>    - firecracker 0.15.0
>>    - QEMU 2.12.0
>>
>>
>> *Client machine:*
>>
>>    - similar to the one above with wrk as a test client firing requests
>>    using 10 threads and 100 open connections for 30 seconds in 3 series one 
>> by
>>    one (please see this test script -
>>    
>> https://github.com/wkozaczuk/unikernels-v-containers/blob/master/test-restapi-with-wrk.sh
>>    ).
>>    - wrk by default uses Keep-Alive for http connections so TCP
>>    handshake is minimal
>>
>> The host and client machine were connected directly to 1 GBit ethernet
>> switch and host exposed guest IP using a bridged TAP nic (please see the
>> script used -
>> https://raw.githubusercontent.com/cloudius-systems/osv/master/scripts/setup-external-bridge.sh
>> ).
>>
>> You can find scripts to start applications on OSv and docker here -
>> https://github.com/wkozaczuk/unikernels-v-containers (run* scripts).
>> Please note --cpu-set parameter used in docker script to limit number of
>> CPUs.
>>
>> You can find detailed results under
>> https://github.com/wkozaczuk/unikernels-v-containers/tree/master/test_results/remote
>> .
>>
>
> Some questions about the evaluation setup and measurements:
>
> - Did you establish a baseline with bare metal configuration?
> - Did you measure CPU utilization during the throughput tests? This is
> important because you could be hitting CPU limits with QEMU and Firecracker
> because of software processing needed by virtualized networking.
> - Are the QEMU and Firecracker tests using virtio or vhost?
> - Is Docker also configured to use the bridge device? If not, QEMU and
> Firecracker also have some additional overheads from the bridging.
> - Is multiqueue enabled for QEMU and Firecracker? If not, this would
> limit the ability to leverage multiple vCPUs.
> - Is QEMU or Firecracker setting CPU affinity for the vCPU threads? If
> not, two or more vCPUs could be running on the same physical CPU, which
> obviously limits throughput.
>

Oh forgot the obvious:

- Is CPU scaling governor set to performance? Also, if the CPU has
TurboBoost, is it disabled?

- Pekka

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to