Comments (4)
Adding Nginx is a good idea to enhance the pooling of the requests.
You also need to look at the nature of the app: currently the wsgi example is purely CPU-bound, since all it does is a json.dumps() and gets locked in a single CPU/worker when doing this (because of the GIL). So while using a client like ujson will improve the performances, I also think the app should do the sql calls so it can be compared.
What I would do:
- change the app so it does exactly like other apps.
- move to ujson - that'll speed up the json serialization.
- do the sql calls on the mysql DB using PyMySql which is 'green'.
- use gevent workers and monkey patch the socket module, this will make all sql calls async
from frameworkbenchmarks.
notice that there will be 0 benefit to run gevent or meinheld for the json test since it's purely CPU-bound
from frameworkbenchmarks.
I guessed that the WSGI app in hello.py was supposed to just be a JSON serialization test and not a single-database-access test, I think there is no WSGI equivalent of the Django database test right now.
Perhaps it is for stupid reasons, but I see consistent, very significant request/s improvements locally with ab, against an app running on CPython, by not simply typing 'gunicorn -w $n whatever:app', just by using boring old techniques that are often done like telling gunicorn to use a different backend, or using uwsgi. I believe these kinds of things (or equivalent tuning in mod_wsgi, a deep subject) are typical practice for CPython developments. I would not have raised an issue if it were a matter of 1% or twiddling obscure and difficult parameters.
So I think it is worth looking into not doing this in the way that is currently in the repo.
from frameworkbenchmarks.
Closing this issue due to inactivity. A lot has changed in the repo and there are now several implementations for cpython. If you see this as something that needs to be addressed, reopen the issue. First commit from Mar 28, 2013 for reference: 7d8ac9406eb1d9071af978dd9cdb1e32c68aae45
from frameworkbenchmarks.
Related Issues (20)
- Unintended Deletion of Other Containers During Benchmarking: Normal or Error ? HOT 2
- List of 50 longest TFB tests HOT 6
- [Python] Falcon unification issues HOT 4
- Issues with the benchmarking instructions on the Wiki HOT 1
- It is required to finally determine the value of the parameter net.core.somaxconn HOT 18
- General Q: Why enterprise level project use Spring Boot when it have low performance?
- A lot of repeated json and plaintext tests HOT 15
- Run framework tests only if there are fresh changes in the repository HOT 11
- Frameworks fail because use Debian Stretch EOL HOT 5
- vm.max_map_count OS limit HOT 6
- Shouldn't pre-computed HTTP headers trigger "Stripped" classification? HOT 7
- Scratch docker permutations
- Python django workload failed after updating the latest version to 4.2.1 HOT 1
- Python 2 EOL in Github Actions. HOT 2
- How to submit your own framework HOT 1
- Using http pipelining HOT 3
- New Citrine Setup Shows Lower Numbers HOT 34
- No longer accepting plaintext only frameworks / Limited number of tests mutations HOT 10
- All frameworks based on Node.js must be tested on the same docker image. HOT 8
- Add "without keep alive" metric HOT 15
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from frameworkbenchmarks.