Sam Bull 22a6a52350 [aiohttp] Tweaks (#9783) 4 months ago
..
app 22a6a52350 [aiohttp] Tweaks (#9783) 4 months ago
README.md fe99c809fc [aiohttp] Use SQLAlchemy directly (rather than aiopg) (#6248) 4 years ago
aiohttp-orm.dockerfile 22a6a52350 [aiohttp] Tweaks (#9783) 4 months ago
aiohttp.dockerfile 22a6a52350 [aiohttp] Tweaks (#9783) 4 months ago
benchmark_config.json 22a6a52350 [aiohttp] Tweaks (#9783) 4 months ago
config.toml 22a6a52350 [aiohttp] Tweaks (#9783) 4 months ago
gunicorn_conf.py 95a16408f3 Python aiohttp (#2529) 8 years ago
requirements.txt 22a6a52350 [aiohttp] Tweaks (#9783) 4 months ago

README.md

aiohttp Benchmark Test

The information below is specific to aiohttp. For further guidance, review the documentation. Also note that there is additional information that's provided in the Python README.

This is the Python aiohttp portion of a benchmarking tests suite comparing a variety of frameworks.

All test implementations are located within (./app).

Description

aiohttp with sqlalchemy and separately asyncpg for database access.

uvloop is used for a more performant event loop.

Database

PostgreSQL.

Two variants:

To enabled "RAW" mode set the following environment variable:

export CONNECTION=RAW

This will switch which database engine the app uses to execute queries with tests 2, 3, 4 & 5.

Server

gunicorn+uvloop on CPython

Test URLs

Test 1: JSON Encoding

http://localhost:8080/json

Test 2: Single Row Query

http://localhost:8080/db

Test 3: Multi Row Query

http://localhost:8080/queries/20

Test 4: Fortunes (Template rendering)

http://localhost:8080/fortunes

Test 5: Update Query

http://localhost:8080/updates/20

Test 6: Plaintext

http://localhost:8080/plaintext