3

我注意到我的特定 Trac 实例运行不快并且有很大的滞后。这是一个项目的开始,所以在 Trac 中没有多少(除了插件和加载到 SVN 中的代码)。

设置信息:这是通过 WebFaction 托管的 SELinux 系统。它在 Apache 之后,并且通过 SSL 进行连接。目前 .htpasswd 文件是我用来控制访问的文件。

有什么推荐的方法来提高 Trac 的性能吗?

4

4 回答 4

5

如果不了解更多关于您的设置,很难说,但一个简单的胜利是确保 Trac 在类似mod_python. 否则,每个 HTTP 请求都会导致 Python 运行,导入所有模块,然后最终处理请求。使用mod_python(或您喜欢的 FastCGI)将消除加载并直接跳到好东西。

此外,随着 Trac 数据库的增长以及使用该站点的人越来越多,您可能会超出默认的 SQLite 数据库。此时,您应该考虑将数据库迁移到 PostgreSQL 或 MySQL,因为它们将能够更快地处理并发请求。

于 2008-10-17T23:19:49.573 回答
3

我们在 FastCGI 上遇到了最好的运气。另一个关键因素是仅https用于身份验证,但http用于所有其他流量——我真的很惊讶这有多大的不同。

于 2008-10-18T14:13:36.820 回答
2

我注意到如果

select disctinct name from wiki

花费超过 5 秒(例如,由于此表中有一百万行 - 这是一个真实的故事(我们有一个脚本来填充它)),浏览 wiki 页面变得非常缓慢并接管,执行时间在2*t*n哪里t引用的查询(当然 > 5s),并且n是查看页面上存在的许多 tracwiki 链接。这是由于 trac 对此查询有一个(硬编码的)5s 缓存过期。trac 使用它来告诉链接应该是什么颜色。我们将值重新硬编码为 30 秒(我们需要那么多页面,所以每 30 秒有人必须等待 6-7 秒)。

这可能不是导致您的问题的原因,但可能是。祝你好运加速你的 Trac 实例。

于 2009-04-30T10:13:03.283 回答
1

使用和 expires-header 静态提供 chrome 文件也可以提供帮助。请参阅本页末尾。

于 2009-03-11T19:48:30.150 回答