是否有一个库可以对我的Django App进行基准测试以获取SQL请求?

时间:2011-08-18 16:53:55

标签: python django performance benchmarking django-orm

我有一个大型复杂的Django应用程序,我们使用它做了很多事情。从查看Django调试工具栏,我们的一些视图会执行大量SQL请求。我想通过减少SQL请求的数量来增加它的性能(例如,通过添加更多select_related,更聪明的查询等)。我希望能够随着时间的推移来衡量改进,鼓励我并且能够说出已经修剪了多少脂肪。我为这个应用程序提供了大量的django单元测试,可以触及代码的很多部分。

是否有一些库/程序/脚本可以运行单元测试,然后打印出总共执行了多少个SQL请求?这样我就可以迭代地改进我们的应用程序。

1 个答案:

答案 0 :(得分:4)

此信息仅在调试模式下可用。我不知道有任何库可以完全按照你要做的去做,但你很可能很容易装备。

如果您在调试模式下运行,则可以查看已使用connection.queries运行的所有查询。这实际上是django调试工具栏的工作原理。

所以改变你的单元测试来查看connection.queries dict,这应该让你开始很好。