Python Web 开发并发访问问题青椒

2016-02-28 23:19:55 +08:00
 pengpotter
各位好啊,请教一个问题,我用 flask ngix gunicorn 部署了一个简单的 web 服务,但是发现如果一个用户访问的时候,其他用户必须等待前一个用户访问处理完了才能进行。。。这个问题怎么解决。。刚入门 web 开发。。请教下
3826 次点击
所在节点    Python
20 条回复
sunus
2016-02-28 23:23:16 +08:00
@pengpotter 看下 gunicorn 的 workers 配置了几个
pengpotter
2016-02-28 23:33:15 +08:00
@sunus 不知道你说的 workers 的配置,是不是指的和 gunicorn -w 后面的这个参数是一个效果的。 我想请教下,如果这个数值设置为 10 ,那就是 10 个线程,然后可以同时接受 10 个并发访问? 这个意思么?如果这样的话。。效率也太低了
lecher
2016-02-28 23:47:29 +08:00
并发十个,如果每个业务可以在 100ms 内解决,一秒也可以处理一百个请求了。
还嫌不够就用 greenlet 。开启协程大法。
pengpotter
2016-02-28 23:54:32 +08:00
@lecher OK ,我试试
SlipStupig
2016-02-29 00:00:40 +08:00
@pengpotter 生产环境建议开多个实例,如果你有 4core cpu ,就开 4 个 web 应用的实例,然后用 nginx 去代理,静态资源尽量让 nginx 去处理,如果 cpu 够的情况开启 gzip 模块, nginx 开启 TCP_NODELAY TCP_NOPUSH sendfile,总之一句话:让 nginx 多干活其它少干活
maemual
2016-02-29 00:05:48 +08:00
@pengpotter 所以什么叫堆机器,这就是堆机器。想提高并发,就是要堆机器。
pengpotter
2016-02-29 00:09:11 +08:00
@SlipStupig
@maemual
哦,听你们一说就明白怎么回事了,谢谢了~
SlipStupig
2016-02-29 00:30:20 +08:00
@maemual 写好程序才是王道,程序写的烂一百台机器也不如人家一台
mengzhuo
2016-02-29 08:15:21 +08:00
lz 你好可爱啊
你需要的是并发方面的知识
我司最高纪录是 5000 多人同时访问 python 写单进程程序,加油哦
maemual
2016-02-29 08:28:01 +08:00
@SlipStupig 那你能永远不堆机器么。
yov123456
2016-02-29 08:37:35 +08:00
gunicorn-k gevent 会不会好一点 [我不懂…也问问
tabris17
2016-02-29 09:20:06 +08:00
开启 gevent 支持

另外 nginx 拼写错误
lovedboy
2016-02-29 09:38:22 +08:00
Gevent 支持或者多进程==
liko
2016-02-29 09:57:14 +08:00
开 gevent 也得看场景,别误导人家了
thwawar
2016-02-29 10:27:32 +08:00
gevent 在 IO 密集的时候才有效果
virusdefender
2016-02-29 10:51:31 +08:00
单进程就是这样,后端可以做异步处理
SlipStupig
2016-02-29 11:22:47 +08:00
@maemual 看业务场景,能便宜坚决不贵
zonghua
2016-02-29 11:50:18 +08:00
其实好多互联网泡沫单机就能够稳妥地运行
donghouhe
2016-02-29 12:33:58 +08:00
也许加上 gevent 后就可以解决了吧,你的程序阻塞得太久了吧
pengpotter
2016-02-29 14:29:09 +08:00
我今天试着加上了 gevent 之后就有效果了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/259739

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX