V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Braid
V2EX  ›  Python

Django Restful Api 并发性能测试

  •  
  •   Braid · 2018-05-17 17:39:41 +08:00 · 4402 次点击
    这是一个创建于 2142 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 的大神,我该如何测试和提升并发量,多谢!
    aliipay
        1
    aliipay  
       2018-05-17 18:45:11 +08:00
    你不是已经测试了吗?
    DavidNineRoc
        2
    DavidNineRoc  
       2018-05-17 18:49:31 +08:00 via Android   ❤️ 4
    大家散了吧,楼主是来秀她的配置的
    iConnect
        3
    iConnect  
       2018-05-17 18:54:40 +08:00 via Android
    你查看下数据库的日志,应该是数据库连接超时,返回不了数据导致的
    yongzhong
        4
    yongzhong  
       2018-05-17 19:12:48 +08:00
    celery 和你的 API 有什么必然的联系吗
    然后就是你的 app 的部署方式是什么也没有提到,无从判断你的整体情况呀
    wizmann
        5
    wizmann  
       2018-05-17 20:37:32 +08:00
    是不是 fd 用光了。。。

    ulimit -n 看一下?
    Zzdex
        6
    Zzdex  
       2018-05-17 21:30:10 +08:00
    这配置是真的秀
    bestkayle
        7
    bestkayle  
       2018-05-17 22:45:08 +08:00
    你从哪搞的机器?
    shepherd
        8
    shepherd  
       2018-05-18 07:30:30 +08:00 via iPhone   ❤️ 1
    把 Django 部署到 nginx 或者 apach 上试试,Django 自带的 web 服务性能很低,只能用来测试
    ybping
        9
    ybping  
       2018-05-18 07:57:47 +08:00 via iPhone
    1.先看看 log 有啥报错 2. 用 nginx 做 web 服务器吧
    Braid
        10
    Braid  
    OP
       2018-05-18 14:38:13 +08:00
    @shepherd 嗯,打算直接用 ORM 入库,不用 api 了。
    Braid
        11
    Braid  
    OP
       2018-05-18 14:38:37 +08:00
    @wizmann 102400
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1710 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:43 · PVG 00:43 · LAX 09:43 · JFK 12:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.