You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwhisk.apache.org by Michele Sciabarra <op...@sciabarra.com> on 2018/02/17 14:21:39 UTC
Benchmarking the Go server: results of performance comparison against
the Dockerskeleton
Hello, Whiskers!
Before starting to implement the support with pipes, I run some benchmarks.
I wanted to be sure I were not wasting time doing something useless.
Well, I was rewarded by numbers much better than I expected.
Without any further ado here there are the results:
| Label | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Min | Max |
|---------------|-----------|---------|--------|----------|----------|----------|-----|------|
| Python+System | 10000 | 673 | 686 | 766 | 797 | 853 | 10 | 1180 |
| GoServer | 10000 | 2 | 2 | 3 | 6 | 15 | 1 | 78 |
The test is just ONE, with 100 threads running 100 requests. However the numbers are pretty eloquent.
Basically, on average a request to the Go server took 2 milliseconds, against an average of 673 ms for the docker support.
Also 90% of requests in Go took less that 3 ms, against 766ms with the system call.
No surprise here no one uses CGI anymore since a long time!
---
Also the size of the images is significant:
| sciabarracom/openwhisk-hello latest 43425039e090 2 hours ago 16.7MB |
| sciabarracom/openwhisk-exec latest ba516ca87a68 2 hours ago 10.4MB |
| openwhisk/dockerskeleton latest 25d1878c2f31 4 months ago 109MB |
| openwhisk/python3action latest e7346758b201 4 months ago 289MB |
(the `openwhisk-image` is the image with the proxy and the action, while the `openwhisk-exec` contains just the proxy)
---
All the instructions how to run the benchmark by yourself are in the repo here:
https://github.com/sciabarracom/openwhisk-runtime-go
--
Michele Sciabarra
openwhisk@sciabarra.com
Re: Benchmarking the Go server: results of performance comparison
against the Dockerskeleton
Posted by Michele Sciabarra <op...@sciabarra.com>.
Note this is the native implementation all-in-one I built.
I am working on the implementation with the subprocess connected with a pipe, and I hope it will give similar performances...
--
Michele Sciabarra
openwhisk@sciabarra.com
On Mon, Feb 19, 2018, at 11:19 AM, James Thomas wrote:
> Michele,
>
> Impressive results! Looking forward to seeing this develop.
>
> On 17 February 2018 at 14:21, Michele Sciabarra <op...@sciabarra.com>
> wrote:
>
> > Hello, Whiskers!
> >
> > Before starting to implement the support with pipes, I run some benchmarks.
> > I wanted to be sure I were not wasting time doing something useless.
> >
> > Well, I was rewarded by numbers much better than I expected.
> > Without any further ado here there are the results:
> >
> > | Label | # Samples | Average | Median | 90% Line | 95% Line | 99%
> > Line | Min | Max |
> > |---------------|-----------|---------|--------|----------|-
> > ---------|----------|-----|------|
> > | Python+System | 10000 | 673 | 686 | 766 | 797 |
> > 853 | 10 | 1180 |
> > | GoServer | 10000 | 2 | 2 | 3 | 6 |
> > 15 | 1 | 78 |
> >
> >
> > The test is just ONE, with 100 threads running 100 requests. However the
> > numbers are pretty eloquent.
> >
> > Basically, on average a request to the Go server took 2 milliseconds,
> > against an average of 673 ms for the docker support.
> > Also 90% of requests in Go took less that 3 ms, against 766ms with the
> > system call.
> >
> > No surprise here no one uses CGI anymore since a long time!
> >
> > ---
> >
> > Also the size of the images is significant:
> >
> > | sciabarracom/openwhisk-hello latest 43425039e090 2
> > hours ago 16.7MB |
> > | sciabarracom/openwhisk-exec latest ba516ca87a68 2
> > hours ago 10.4MB |
> > | openwhisk/dockerskeleton latest 25d1878c2f31 4
> > months ago 109MB |
> > | openwhisk/python3action latest e7346758b201 4
> > months ago 289MB |
> >
> > (the `openwhisk-image` is the image with the proxy and the action, while
> > the `openwhisk-exec` contains just the proxy)
> >
> > ---
> >
> > All the instructions how to run the benchmark by yourself are in the repo
> > here:
> >
> > https://github.com/sciabarracom/openwhisk-runtime-go
> >
> > --
> > Michele Sciabarra
> > openwhisk@sciabarra.com
> >
>
>
>
> --
> Regards,
> James Thomas
Re: Benchmarking the Go server: results of performance comparison
against the Dockerskeleton
Posted by James Thomas <jt...@gmail.com>.
Michele,
Impressive results! Looking forward to seeing this develop.
On 17 February 2018 at 14:21, Michele Sciabarra <op...@sciabarra.com>
wrote:
> Hello, Whiskers!
>
> Before starting to implement the support with pipes, I run some benchmarks.
> I wanted to be sure I were not wasting time doing something useless.
>
> Well, I was rewarded by numbers much better than I expected.
> Without any further ado here there are the results:
>
> | Label | # Samples | Average | Median | 90% Line | 95% Line | 99%
> Line | Min | Max |
> |---------------|-----------|---------|--------|----------|-
> ---------|----------|-----|------|
> | Python+System | 10000 | 673 | 686 | 766 | 797 |
> 853 | 10 | 1180 |
> | GoServer | 10000 | 2 | 2 | 3 | 6 |
> 15 | 1 | 78 |
>
>
> The test is just ONE, with 100 threads running 100 requests. However the
> numbers are pretty eloquent.
>
> Basically, on average a request to the Go server took 2 milliseconds,
> against an average of 673 ms for the docker support.
> Also 90% of requests in Go took less that 3 ms, against 766ms with the
> system call.
>
> No surprise here no one uses CGI anymore since a long time!
>
> ---
>
> Also the size of the images is significant:
>
> | sciabarracom/openwhisk-hello latest 43425039e090 2
> hours ago 16.7MB |
> | sciabarracom/openwhisk-exec latest ba516ca87a68 2
> hours ago 10.4MB |
> | openwhisk/dockerskeleton latest 25d1878c2f31 4
> months ago 109MB |
> | openwhisk/python3action latest e7346758b201 4
> months ago 289MB |
>
> (the `openwhisk-image` is the image with the proxy and the action, while
> the `openwhisk-exec` contains just the proxy)
>
> ---
>
> All the instructions how to run the benchmark by yourself are in the repo
> here:
>
> https://github.com/sciabarracom/openwhisk-runtime-go
>
> --
> Michele Sciabarra
> openwhisk@sciabarra.com
>
--
Regards,
James Thomas