首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的hgweb服务器这么慢?

为什么我的hgweb服务器这么慢?
EN

Stack Overflow用户
提问于 2010-08-10 23:04:25
回答 4查看 2K关注 0票数 6

我正在使用hgweb访问许多汞库,并将它们作为一个集合提供:

代码语言:javascript
复制
[collections]
/home/me = /home/me/projects

这将在本地主机/项目中提供服务。

我在那个位置有大约30个存储库,在一个源代码树中,有相当数量的其他非汞管理的项目。

hgweb的响应非常慢;在http://localhost/上提供一个列表需要大约30秒,而打开一个项目需要大约30秒,因此将其用于共享目的是痛苦的。

我怎样才能把这个调得更快呢?

我在OSX上运行,如果这有什么区别的话。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-10 23:25:18

hgweb将扫描配置文件中[collections]条目的所有子目录。因为这里有很多非Mercurial目录,所以必须对每个子目录进行扫描。相反,它可以停止在包含汞存储库的目录树的顶层进行扫描,因为它将在那里看到.hg目录。

如果您使用的是更新的Mercurial (如1.1之后),请尝试更改hgweb.config以使用[paths]部分,并为每个汞存储库提供显式条目。

票数 5
EN

Stack Overflow用户

发布于 2010-08-20 19:37:42

作为一个开放源码的替代方案,您可以使用RhodeCode http://rhodecode.com --它完全是用Python编写的hgweb替换。

  • 它有自己的中间件来处理mercurial协议请求,每个请求都可以被记录下来,并且经过验证+线程的性能不太可能在hgweb
  • 即使在mercurial请求下,每个项目的完全权限(读/写/管理访问)也是如此
  • mako模板允许您自定义应用程序的外观和感觉。
  • 不同的注释和源代码,所有的颜色都是由pygments显示的。
  • mercurial分支图和yui幂图
  • 用于执行用户/权限管理以及存储库管理的管理界面。
  • mercurial web的其他设置,(可从管理面板中编辑钩子!)还管理路径、存档、远程消息。
  • 备份脚本可以对整个应用程序进行备份,并通过scp发送到所需的位置。
  • 在db内安装项目描述和信息,以便于非文件系统操作。
  • 存储库代码全文搜索
  • 增加了对推送/回购管理无效的高速缓存,以获得高性能和最新的数据。
  • rss / atom提要,gravatar支持
  • 基于塔1.0 /方炼金术
票数 7
EN

Stack Overflow用户

发布于 2010-08-10 23:25:46

问题可能是服务器在每个请求期间递归地搜索repos。听起来你有一个很大的目录,所以这是有道理的。

这个表示法将适用于首选的[paths]属性,但我不确定它是否会帮助[collections]属性。试着换到

代码语言:javascript
复制
[collections]
/home/me = /home/me/projects/*

所以它只会向下搜索一层。

有关此问题的更多信息,请查看此处:https://www.mercurial-scm.org/wiki/HgWebDirStepByStep

如果这样做不起作用,那么如果您更改为[paths]并使用*表示法,它肯定会起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3454175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档