Django Restful Api 并发性能测试

2018-05-17 17:39:41 +08:00
 Braid
RT

我有台机器配置还是不错( 48 核 CPU、128GB 内存),将一个 Django 的 Web 应用搭建在这上面了,里面有几个 api 接口用于数据库插入和更新操作,然后使用的 celery ( 200worker )去消费 mq 的任务,就会出现并发调用 api 接口情况,结果发现很多请求提示 connect time out 情况如下。

```error
Max retries exceeded with url: /api/member/test1/insertorupdate (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x3b1f750>: Failed to establish a new connection: [Errno 110] Connection timed out',))",),)
```

感觉应该是 django restful api 不支持如此高并发导致的,所以想请教 V2EX 的大神,我该如何测试和提升并发量,多谢!
4443 次点击
所在节点    Python
11 条回复
aliipay
2018-05-17 18:45:11 +08:00
你不是已经测试了吗?
DavidNineRoc
2018-05-17 18:49:31 +08:00
大家散了吧,楼主是来秀她的配置的
iConnect
2018-05-17 18:54:40 +08:00
你查看下数据库的日志,应该是数据库连接超时,返回不了数据导致的
yongzhong
2018-05-17 19:12:48 +08:00
celery 和你的 API 有什么必然的联系吗
然后就是你的 app 的部署方式是什么也没有提到,无从判断你的整体情况呀
wizmann
2018-05-17 20:37:32 +08:00
是不是 fd 用光了。。。

ulimit -n 看一下?
Zzdex
2018-05-17 21:30:10 +08:00
这配置是真的秀
bestkayle
2018-05-17 22:45:08 +08:00
你从哪搞的机器?
shepherd
2018-05-18 07:30:30 +08:00
把 Django 部署到 nginx 或者 apach 上试试,Django 自带的 web 服务性能很低,只能用来测试
ybping
2018-05-18 07:57:47 +08:00
1.先看看 log 有啥报错 2. 用 nginx 做 web 服务器吧
Braid
2018-05-18 14:38:13 +08:00
@shepherd 嗯,打算直接用 ORM 入库,不用 api 了。
Braid
2018-05-18 14:38:37 +08:00
@wizmann 102400

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

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

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

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

© 2021 V2EX