gevent+django并发资料调研

下面是百度和Google上面的所有关于gevent+Django的调研:

百度搜索django gevent,然后下面是百度前10页的所有相关链接(有些博主自己都没搞懂asyncio异步和celery异步啥区别的,我直接删除)

Google搜索django gevent,返回前面几页的相关结果。

上述搜索结果我全部罗列到了下面的 References中

可能可以落地的是:

[1][4][6][8][13][29]

其中有完整例子的是:

[6][13][29]

#-----------------------------------我自己的实测结果-----------------------------------------------------------------------------

下面表格中的transaction rate是并发数量

测试方式 结果 压测时间
python manage runserver Transactions:                5362 hits
Availability:              100.00 %
Elapsed time:               25.37 secs
Data transferred:            0.07 MB
Response time:                0.56 secs
Transaction rate:          211.35 trans/sec
Throughput:                0.00 MB/sec
Concurrency:              118.34
Successful transactions:        5362
Failed transactions:               0
Longest transaction:           14.92
Shortest transaction:            0.00
 
脉搏约30下

gunicorn + gevent

Transactions:                6884 hits
Availability:              100.00 %
Elapsed time:               42.47 secs
Data transferred:            0.09 MB
Response time:                1.53 secs
Transaction rate:          162.09 trans/sec
Throughput:                0.00 MB/sec
Concurrency:              247.45
Successful transactions:        6884
Failed transactions:               0
Longest transaction:           20.58
Shortest transaction:            0.09
脉搏约30下
gunicorn+gthread Transactions:                7050 hits
Availability:               99.27 %
Elapsed time:               21.18 secs
Data transferred:            0.94 MB
Response time:                0.75 secs
Transaction rate:          332.86 trans/sec
Throughput:                0.04 MB/sec
Concurrency:              250.20
Successful transactions:        7050
Failed transactions:              52
Longest transaction:            2.41
Shortest transaction:            0.21
 
脉搏约30下

gunicorn + gthread + CONN_MAX_AGE

Transactions:               12300 hits
Availability:               97.19 %
Elapsed time:               23.06 secs
Data transferred:            5.99 MB
Response time:                0.47 secs
Transaction rate:          533.39 trans/sec
Throughput:                0.26 MB/sec
Concurrency:              252.72
Successful transactions:       12300
Failed transactions:             356
Longest transaction:            1.57
Shortest transaction:            0.03

上述并发中出现不少挂掉的:

脉搏约30下

gunicorn+gevent+

CONN_MAX_AGE

 这个结果还是算了吧,明显不靠谱 脉搏约30下

完整测试过程与测试代码:

https://github.com/appleyuchi/django_gevent_test

后来联系上了最初的代码作者,作者说,压测是本地机子对云主机进行的,而不是本地机对本地机进行的。

gevent+django的效果只是看上去跑的通,其实效果并没有提升。

作者说:要注意第三方的api的压测结果,再考虑接入第三方api。

Reference:

[1]Django Gevent integration(stackoverflow)

[2]如何提高django的并发能力(与[29]一致)

[3]gevent+django的坑(不行)

[4]how to combine django plus gevent the basics?(stackoverflow)

[5]gevent(没啥用)

[6]async-django-gevent-demo(github上面的一个例子)

[7]利用gevent来配置uwsgi提高django项目并发量(沒有完整代码)

[8]如何用 gevent 提高 Django 的性能?(zhihu提倡tornado)

[9]django-gevent(作者自己都说不行)

[10]Nginx + Gunicorn(+gevent) + Django(沒有完整例子)

[11]nginx + gevent + django高并发配置 django案例 django建站 django搭(没啥用)

[12]解决gunicorn+gevent+django数据库高连接数问题(gevent+django使用中的一个问题,没有完整例子)

[13]用gunicorn和gevent提高python web框架的性能(Flask+gevent例子)

[14]python用gevent实现异步(没有涉及web框架)

[15]关于gevent的一些理解(二) (只是测试而已)

[16]django 的并发(沒有完整例子,但是显然博主理解比较深刻)

[17]django+nginx+supervisor+gunicorn+gevent 网站部署(讲了配置,但是没有完整例子)

[18]Python Gevent – 高性能的 Python 并发框架(这里最后一个例子有提到Flask,但是属于websockets API) 

[19]谁说gevent不能做web开发的(fastpy框架)

[20]gunicorn+gevent+django+nginx部署体验(没有完整实验)

[21]django + gunicorn +nginx + gevent(没啥用)

[22]谁说Django搞定不了千万并发,看你怎么用!(Instagram虽然用了django,但是人家没接第三方api)

[23]Python协程(gevent+asyncio)模块(没有涉及web框架)

[24]利用gunicorn提高django的并发能力(同[29])

[25]同步、异步(gevent,asyncio)、多线程(threading)效率对比(只是稍微提了下Django)

[26]How to make Django works with gevent?(这个讨论的是django的websocket api)

[27]Python/Django + Gunicorn with Gevent Workers

[28]python 高性能web框架 gunicorn+gevent

[29]如何提高django的并发能力

发布了824 篇原创文章 · 获赞 394 · 访问量 175万+

猜你喜欢

转载自blog.csdn.net/appleyuchi/article/details/105382572