Ror*_*ory 6 python django performance django-orm
我有一个复杂的Django Web应用程序,其中包含许多人年的工作.有时可能需要优化.我可以编写几个常见的操作/流程(例如)django的测试客户端.是否有一些程序,如果有这样的python脚本,将运行,并报告各种django特定的性能指标,如'运行的SQL查询数'.
基本上类似于单元测试套件,但不是报告"0测试失败",而是报告"X db查询已经完成"
我自己可以写这个,这不是一个复杂的问题,但我想知道以前有人做过.
我知道Django调试工具栏,它可以做很多这个,但是有更多的"命令行",可以在很多页面上工作,而不是一次页面刷新.同样地获得实际查询相对容易.但有没有人把整个事情包裹在脚本/库中?
您可以创建一个 TestCase 祖先,类似于 PerformanceTestCase,它使用 setUp() 来启动计时器,使用 TeaDown() 来测量花费的时间和 sql 查询,然后在您喜欢的任何地方输出。
class PerformanceTestCase(TestCase):
def setUp(self):
self.begin_time = datetime.datetime.now()
def tearDown(self):
delta = datetime.datetime.now() - self.begin_time
print 'Time taken', delta.seconds
from django.db import connection
print 'SQL queries', len(connection.queries)
Run Code Online (Sandbox Code Playgroud)
也许您需要重置连接,但我认为它正在测试之间重置。
| 归档时间: |
|
| 查看次数: |
1338 次 |
| 最近记录: |