-
Notifications
You must be signed in to change notification settings - Fork 1
Performance between different orm and sql client
uuip edited this page May 25, 2023
·
2 revisions
Language | rust | |||||||
---|---|---|---|---|---|---|---|---|
async runtime | tokio 1.28.1 | |||||||
Web Framework | axum 0.6.18 | |||||||
app level pool size | 3000 | |||||||
system config | ulimit -n 102400 | |||||||
db rows | 1000_0000 | |||||||
Offset Limit | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Max | Throughput |
sea-orm 0.11.3 | 200000 | 188 | 13 | 1031 | 1071 | 3053 | 9899 | 10509.7214923804 |
sqlx 0.6.3 | 200000 | 161 | 11 | 1017 | 1049 | 3046 | 7587 | 11759.8635855824 |
tokio-postgres 0.78+deadpool | 200000 | 61 | 7 | 13 | 95 | 1040 | 7109 | 12894.9065119277 |
Select by id | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Max | Throughput |
sea-orm | 200000 | 107 | 6 | 21 | 1027 | 1425 | 7268 | 14847.8099480326 |
sqlx | 200000 | 60 | 5 | 9 | 108 | 1223 | 7198 | 16798.2529816899 |
tokio-postgres+deadpool | 200000 | 50 | 5 | 8 | 19 | 1034 | 7267 | 16964.9673424378 |
Update by id | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Max | Throughput |
sea-orm | 200000 | 206 | 74 | 350 | 1136 | 1534 | 7354 | 7956.71546785486 |
sqlx | 200000 | 189 | 70 | 320 | 1078 | 1538 | 7274 | 7969.71508268579 |
tokio-postgres+deadpool | 200000 | 195 | 65 | 620 | 1057 | 1393 | 7731 | 8626.26698 |