3

我通常在内存中的 SQLite3 DB 上运行我的测试套件。但是,我有一些项目绝对需要 postgres 并使用 SQLite3 引发异常。在这些情况下,我该如何提高速度?

我有一个测试配置,在 sqlite 中运行 2.97 秒,而在 postgres 中运行 89.71 秒。我的意思是这太疯狂了。

我在 postgres 中关闭了 fsync - 这让我从 101.59s 到 89.71s。

4

2 回答 2

1

您的服务器配置肯定会对这个速度产生影响,关闭 fsync 将使表创建速度更快,这是初始启动成本的很大一部分。

另一部分是 Django 如何处理固定装置,如果您有大量固定装置,这可能会严重影响性能。Django 为每个测试方法(不是每个测试类)加载固定装置并回滚事务。有一个第三方应用程序django-fasttest在夹具加载后使用保存点来优化此加载。django-nose对重用以前创建的数据库和夹具捆绑有类似的优化。

于 2012-06-08T18:06:58.093 回答
0

你目前的配置是什么?也检查维基

并开始记录慢查询以找出真正的问题。

于 2012-06-08T17:00:01.263 回答