各位好啊,请教一个问题,我用 flask ngix gunicorn 部署了一个简单的 web 服务,但是发现如果一个用户访问的时候,其他用户必须等待前一个用户访问处理完了才能进行。。。这个问题怎么解决。。刚入门 web 开发。。请教下
|
sunusFeb 28, 2016
1
@pengpotter 看下 gunicorn 的 workers 配置了几个
|
|
2
@sunus 不知道你说的 workers 的配置,是不是指的和 gunicorn -w 后面的这个参数是一个效果的。 我想请教下,如果这个数值设置为 10 ,那就是 10 个线程,然后可以同时接受 10 个并发访问? 这个意思么?如果这样的话。。效率也太低了
|
|
lecherFeb 28, 2016 via Android
3
并发十个,如果每个业务可以在 100ms 内解决,一秒也可以处理一百个请求了。
还嫌不够就用 greenlet 。开启协程大法。 |
|
4
@lecher OK ,我试试
|
|
SlipStupigFeb 29, 2016
5
@pengpotter 生产环境建议开多个实例,如果你有 4core cpu ,就开 4 个 web 应用的实例,然后用 nginx 去代理,静态资源尽量让 nginx 去处理,如果 cpu 够的情况开启 gzip 模块, nginx 开启 TCP_NODELAY TCP_NOPUSH sendfile,总之一句话:让 nginx 多干活其它少干活
|
|
maemualFeb 29, 2016 via iPhone
6
@pengpotter 所以什么叫堆机器,这就是堆机器。想提高并发,就是要堆机器。
|
|
7
|
|
SlipStupigFeb 29, 2016
8
@maemual 写好程序才是王道,程序写的烂一百台机器也不如人家一台
|
|
mengzhuoFeb 29, 2016 via iPhone
9
lz 你好可爱啊
你需要的是并发方面的知识 我司最高纪录是 5000 多人同时访问 python 写单进程程序,加油哦 |
|
maemualFeb 29, 2016 via iPhone
10
@SlipStupig 那你能永远不堆机器么。
|
|
yov123456Feb 29, 2016 via iPhone
11
gunicorn-k gevent 会不会好一点 [我不懂…也问问
|
|
tabris17Feb 29, 2016
12
开启 gevent 支持
另外 nginx 拼写错误 |
|
lovedboyFeb 29, 2016
13
Gevent 支持或者多进程==
|
|
likoFeb 29, 2016
14
开 gevent 也得看场景,别误导人家了
|
|
thwawarFeb 29, 2016
15
gevent 在 IO 密集的时候才有效果
|
|
virusdefenderFeb 29, 2016
16
单进程就是这样,后端可以做异步处理
|
|
SlipStupigFeb 29, 2016
17
@maemual 看业务场景,能便宜坚决不贵
|
|
zonghuaFeb 29, 2016 via iPhone
18
其实好多互联网泡沫单机就能够稳妥地运行
|
|
donghouheFeb 29, 2016 via iPad
19
也许加上 gevent 后就可以解决了吧,你的程序阻塞得太久了吧
|
|
20
我今天试着加上了 gevent 之后就有效果了
|