Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cloudify #632

Closed
wants to merge 76 commits into from
Closed

Cloudify #632

wants to merge 76 commits into from

Conversation

waghanza
Copy link
Collaborator

@waghanza waghanza commented Nov 15, 2018

Hi,

Results are actually computed from a local docker. This decision has been taken to facilitate frameworks addition, but mess-up the results. The final goal of this tool is to present closest to (as we can) production results.

The idea behind this PR is to run on a cloud, for this DigitalOcean

Frameworks :

  • C
    • agoo-c
    • kore
  • C++
    • evhtp
  • C#
    • asp NET core
  • Crystal
    • amber
    • athena
    • kemal
    • lucky
    • onyx
    • orion
    • raze
    • router.cr
    • spider-gazelle
  • Elixir
    • phoenix
    • plug
  • Go
    • beego
    • chi
    • Eecho
    • fasthttprouter
    • gf
    • gin
    • gorilla-mux
    • gorouter
    • kami
    • violetear
  • Java
    • act
    • sprint-boot
  • Kotlin
    • ktor
  • Nim
    • jester
  • Node
    • express
    • fastify
    • foxify
    • hapi
    • koa
    • muneem
    • polka
    • rayo
    • restana
    • restify
    • turbo_polka
  • Objective C
    • Criollo
  • PHP
    • laravel
    • lumen
    • slim
    • symfony
    • zend-expressive
    • zend-framework
  • Python
    • aiohttp
    • bocadillo
    • bottle
    • cyclone
    • django
    • falcon
    • fastapi
    • flask
    • hug
    • japronto
    • masonite
    • molten
    • quart
    • responder
    • sanic
    • starlette
    • tornado
    • vibora
  • Ruby
    • agoo
    • cuba
    • flame
    • hanami
    • rack-routing
    • rails
    • roda
    • sinatra
  • Rust
    • actix-web
    • gotham
    • iron
    • nickel
    • rocket
  • Scala
    • akkahttp
    • http4s
  • Swift
    • kitura
    • kitura-nio
    • perfect
    • vapor

Display comprehensive results

... has to be defined ...

Regards,

@waghanza waghanza self-assigned this Nov 15, 2018
@waghanza
Copy link
Collaborator Author

@OvermindDL1 you will be happy, I've found a way to run on baremetal => https://www.vultr.com/features/baremetal/

but after all stuff before 😛

@OvermindDL1
Copy link
Collaborator

@waghanza Ooo, that would remove all the container noise!

@proyb6
Copy link
Contributor

proyb6 commented Nov 16, 2018

Interesting, you may want to run on server in Singapore region as its a well connected in the region. Skylark processor is definitely faster.

@waghanza
Copy link
Collaborator Author

waghanza commented Nov 16, 2018

@OvermindDL1 yeah, the goal is to remove dockerfile (but still docker used for ci, for example) and to replace it with auto-generated ones

@proyb6 on digital ocean or vultr? theire is not the same hardware ?

@proyb6
Copy link
Contributor

proyb6 commented Nov 16, 2018

@waghanza I'm on UpCloud VPS. I have no experience on the dedicated server

@waghanza
Copy link
Collaborator Author

@proyb6 ok, I've pick digitalocean, because of I can easily work on that (cli is great ...), but nothing is engraved in stone

@waghanza
Copy link
Collaborator Author

waghanza commented Nov 16, 2018

@aichholzer In node app.js, port number (3000) is hard-coded. Is there a way to give the port number to pm2 (env or command line option) to avoid harcoding it ?

@waghanza
Copy link
Collaborator Author

I can run successfully, php / node / ruby / python🎉 (one implementation per language)

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

DEVELOPER PREVIEW

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
Language (Runtime) Framework (Middleware) Average 50th percentile 90th percentile 99th percentile 99.9th percentile Standard deviation
ruby (2.5) sinatra (2.0) 50.85 ms 49.55 ms 90.62 ms 97.49 ms 3833.14 ms 120721.33
node (8.11) express (4.16) 306.04 ms 269.80 ms 338.58 ms 1603.92 ms 2962.35 ms 231825.67
python (3.6) flask (1.0) 326.56 ms 155.02 ms 489.84 ms 3705.62 ms 7878.10 ms 641034.67
php (7.2) slim (3.11) 245.22 ms 53.03 ms 568.62 ms 2908.39 ms 7559.61 ms 584944.67

node/express/app.js Outdated Show resolved Hide resolved
@waghanza waghanza force-pushed the master branch 2 times, most recently from a369221 to 530f6b0 Compare November 20, 2018 15:09
package_upgrade: true
packages:
- php-fpm
- php-xml # TODO only required for symfony

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO found

@waghanza waghanza force-pushed the master branch 2 times, most recently from c9ffe6f to 0439be9 Compare November 21, 2018 11:29
@waghanza
Copy link
Collaborator Author

waghanza commented Nov 21, 2018

@qti3e @aichholzer I have successfully add all node frameworks, except foxify (foxifyjs/foxify#4) and polka using turbo

@aichholzer I use ssh to execute command (setup environment) for each framework, don't hesitate to take a look at https://github.com/waghanza/http-benchmark/blob/cloudify/tools/jobs/cloud/digitalocean.yml#L69 since I do not know any node best-practices

node/koa/app.js Outdated Show resolved Hide resolved
node/turbo_polka/app.js Show resolved Hide resolved
node/turbo_polka/app.js Show resolved Hide resolved
node/turbo_polka/app.js Show resolved Hide resolved
node/turbo_polka/app.js Show resolved Hide resolved
node/turbo_polka/app.js Show resolved Hide resolved
node/polka/app.js Show resolved Hide resolved
node/polka/app.js Show resolved Hide resolved
node/polka/app.js Show resolved Hide resolved
node/polka/app.js Show resolved Hide resolved
node/koa/app.js Show resolved Hide resolved
@noelzubin
Copy link

How different is this so called 'docker noise' and the performance on an non container machine ?

@waghanza
Copy link
Collaborator Author

Hi @noelzubin,

The noise gap could be about 40%, but it is not so-easy to measure this impact.

BTW, this branch is quite outdated and will be totally dropper / recreated when ... I have the time ❤️

@waghanza waghanza closed this Mar 22, 2020
@waghanza waghanza deleted the cloudify branch March 22, 2020 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants