V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
asuraa
V2EX  ›  Django

django 性能问题求助

  •  1
     
  •   asuraa · 2017-10-05 04:38:02 +08:00 · 5134 次点击
    这是一个创建于 2366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    找不到问题到底在哪,为何速度回这么这么慢。。

    下面是 debug 的图。 很奇怪。 命名 total time 和 sql 使用的时间都很少 为毛 Elapsed time 两秒多啊。。。 啊 刚学 django 求教。。 环境 django 1.11.5 django-rest-framework 最新版+pymysql

    第 1 条附言  ·  2017-10-05 15:56:05 +08:00
    问题已解决。。。
    尼玛竟然是 localhost 解析问题。mysql 连接字符串的 host 换成 127.0.0.1 之后。。。跟 sqlite 一样快
    25 条回复    2017-10-05 15:55:20 +08:00
    asuraa
        1
    asuraa  
    OP
       2017-10-05 04:41:43 +08:00
    这个 Elapsed time 各种 google 百度,搜了半天都是教怎么装 django debug tools 的 没有说这个时间究竟包含了什么时间。
    我根据官网文档说明,猜测可能是收到请求到发送响应的总时间???
    但是问题。。sql 很快啊 几毫秒。前面的其他计算 cpu 时间占用都很少啊,为啥最后竟然要这么久呢?
    asuraa
        2
    asuraa  
    OP
       2017-10-05 04:46:48 +08:00
    唉 这个问题从 12 点折腾到现在,先睡觉了 困得不行。。第一次玩 django,边学编写。。
    asuraa
        3
    asuraa  
    OP
       2017-10-05 05:07:20 +08:00
    再来个图
    asuraa
        4
    asuraa  
    OP
       2017-10-05 05:46:22 +08:00
    google 了一些教程,发现 Line Profiler 可以分析出哪一行代码执行的慢 ,然后就有了下图。。。
    XiaoFaye
        5
    XiaoFaye  
       2017-10-05 05:51:21 +08:00
    python 性能上没有优势吧?它的优势是可以直接用的类库多。。。
    asuraa
        6
    asuraa  
    OP
       2017-10-05 06:01:10 +08:00
    好像是这里?
    asuraa
        7
    asuraa  
    OP
       2017-10-05 06:02:12 +08:00
    @XiaoFaye 这个跟优势没啥关系。性能差的太离谱了 就非常非常简单的多对多增删改查。差的太离谱了,虽然不怎么关心性能。但是这个性能明显不正常。不知道是哪里的原因。。
    asuraa
        8
    asuraa  
    OP
       2017-10-05 06:02:36 +08:00
    不行了 坚持不住了 我去睡会。。。麻痹写代码上瘾。。
    takanasi
        9
    takanasi  
       2017-10-05 11:26:36 +08:00
    我完全没看懂你的代码,到底是函数式还是对象式
    asuraa
        10
    asuraa  
    OP
       2017-10-05 11:30:29 +08:00
    @takanasi 这里没有代码呀、都是 debug-tools 的截图
    takanasi
        11
    takanasi  
       2017-10-05 11:31:13 +08:00
    @luodaoyi 4 楼那个不是?
    rwalle
        12
    rwalle  
       2017-10-05 11:58:15 +08:00
    给的信息太少,好歹说说服务器是什么配置,数据库是什么量级的
    asuraa
        13
    asuraa  
    OP
       2017-10-05 12:01:03 +08:00
    @rwalle 还没上线呢 就是在本地开发。。
    @takanasi 那个不是 那个是 django-rest-framework 的代码
    takanasi
        14
    takanasi  
       2017-10-05 12:04:14 +08:00
    @luodaoyi 你连代码都不发谁懂你说什么
    asuraa
        15
    asuraa  
    OP
       2017-10-05 12:45:51 +08:00
    @takanasi 昂。。
    我好想找到原因了。。。我用的 pymysql
    asuraa
        16
    asuraa  
    OP
       2017-10-05 12:58:35 +08:00
    @takanasi 换成 sqlite 之后 速度非常非常快,。,,
    takanasi
        17
    takanasi  
       2017-10-05 13:06:47 +08:00
    @luodaoyi 我上次做个网站发 s1 宣传因为用 sqlite 被人喷了
    kangkang
        18
    kangkang  
       2017-10-05 13:09:20 +08:00 via iPhone
    @takanasi 为啥喷你
    takanasi
        19
    takanasi  
       2017-10-05 13:11:00 +08:00
    @kangkang 因为用 sqlite,说没有并发
    asuraa
        20
    asuraa  
    OP
       2017-10-05 13:13:30 +08:00
    @takanasi。。我测到最后发现用 pymysql 连接 mysql 的话 速度慢的令人发指。。。换 sqlite 之后。。杠杠快啊。。。
    昨天就很快我估计我本机 mysql 出毛病了
    asuraa
        21
    asuraa  
    OP
       2017-10-05 13:14:43 +08:00
    @takanasi 单机 sqlite 非常非常快啊
    kangkang
        22
    kangkang  
       2017-10-05 13:18:28 +08:00 via iPhone
    @takanasi 小网站要啥并发啊,用 sqlite 没毛病啊
    liyaoo
        23
    liyaoo  
       2017-10-05 15:18:00 +08:00 via iPhone
    我的 Windows 解析 localhost 也要好久,PHP 连 MySQL 的时候我都是填 127.0.0.1
    asuraa
        24
    asuraa  
    OP
       2017-10-05 15:53:08 +08:00
    @liyaoo 哇 这是个新的角度 我试试看改成 127.0.0.1 试试看
    asuraa
        25
    asuraa  
    OP
       2017-10-05 15:55:20 +08:00
    @liyaoo 我靠 果然是这个问题。。。竟然换成 127.0.0.1 速度就快了。。看来是解析问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   971 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:25 · PVG 04:25 · LAX 13:25 · JFK 16:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.