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.
