我在 Ubuntu/Apache Web 服务器上运行了一些 Trac 安装,我注意到当我在访问 Trac 页面时监控 CPU 使用率时,CPU 飙升至 100% 的情况并不罕见。令我担心的是,只有一个用户访问系统时就会发生这种情况。
有没有什么方法可以减少我访问 Web 服务器上 Trac 时对 CPU 的占用?
答案1
我发现 mod wsgi 比 mod python 更快。
我发布了一篇关于如何使用 mod_wsgi 设置 Trac 的文章这里
答案2
有关信息:关于这一点的讨论http://trac.edgewall.org/ticket/7490。他们指的是 Apache2.x 中使用 mod_python 的 KeepAlive 的性能问题。
引用自后续问题 17:在 keepalive 开启的情况下,我们服务器的 CPU 利用率持续为 80% 在 keepalive 关闭的情况下,我们服务器的 CPU 利用率持续为 15% CPU 负载来自 Apache 进程
答案3
Trac ML 上也有一个类似的问题,可能对你有帮助(特别是最后一封有关 Apache 可能配置的邮件):ML Mail(Google 群组)“Trac 0.11 太慢了!!!!”
编辑可能吧,但是因为我没有遇到这样的问题,所以这也可能引起你的兴趣:性能和垃圾收集。然而,我不认为这里的情况是这样……
编辑#2刚刚记得,下一个稳定版本的性能问题将消失(如果是因为 mod_defleat 的话)。另请参阅 Dev-ML: 准备下一个稳定版本(“但是……”之后的第一点)
答案4
这也取决于您的数据库。您使用的是哪个数据库服务器?它与您的 Trac 服务器位于同一主机上吗?您确定 CPU 使用率来自 Apache 吗?
我个人认为 trac 在 mod_fastcgi 上运行得更好,在 mod_wsgi 上运行得更好。我们在一台规格适中的 VM 主机上使用 VM 来托管我们的 Trac 实例,大约 20 名员工一直在使用它(每隔几秒钟刷新一次),没有任何问题。