我遇到了一些让我感到困惑的性能问题。我正在将 Django 与 MySQL 一起使用。我执行以下操作:
1. 使用 Ajax 从网页发送数据。
2. 在 Views.py 中接收 post 数据并通过许多函数调用对其进行处理,将数据插入 MySQL。我做的第一件事是设置一个 Python 变量 timeStart。在返回响应之前,我要做的最后一件事是计算处理数据的时间:
processTime = time.clock() - timeStart
我使用渲染到响应发送响应,其中响应是 processTime。
3. processTime 显示在网页上。
processTime 为 1.5 秒,但从通过 Ajax 发送数据到收到响应的总时间为 13 秒。11.5 秒来呈现一个简单的页面并发送和接收数据 - 这是一个很长的时间。但后来它变得更奇怪了。我缩短了 views.py 函数,几乎立即发回了响应。这将处理时间从 1.5 秒减少到几乎 0。但它也将总时间从 13 秒减少到大约 2 秒。这似乎表明,事实上,数据处理速度很慢。但是,这并不能解释计算出的 processTime 仅达到 1.5 秒。我确实在第一行设置了 startTime,并在最后一行计算了 processTime。StartTime 不会被覆盖。
就好像有某种清理过程或与完成和发送响应相关的东西,这取决于函数调用。但是什么?或者我在计算时间时做了一些愚蠢的事情?我已设置调试 = False。
编辑 - 额外信息:
该模板仅包含单词“hello”和 {{result}}。我没有返回任何查询集,只是 processTime: {'result':processTime}
当我使用 MySQL 存储函数时,似乎可能会出现时差。就像它正在返回结果,但仍然在做某事????