PostgreSQL 是否具有良好的性能或管理工具?
我已经使用 postgres 有一段时间了,但我仍然不知道很多关于优化和维护数据库并保持其运行良好的方法。
我已经浏览了手册,但由于它是一个相当成熟的产品,我假设它有几个“必备”实用程序?
我有多个 Subversion 存储库,它们通过 Apache 2.2 和 WebDAV 提供。它们都位于一个中心位置,我以这篇debian-administration.org文章为基础(尽管我放弃了对简单 htpasswd 文件使用数据库身份验证)。
从那时起,我也开始使用WebSVN。我的问题是并非系统上的所有用户都应该能够访问不同的存储库,并且 WebSVN 的默认设置是允许任何可以进行身份验证的人。
根据 WebSVN 文档,解决这个问题的最好方法是使用 subversion 的路径访问系统,所以我希望使用 AuthzSVNAccessFile 指令来创建它。
但是,当我这样做时,我不断收到“403 Forbidden”消息。
我的文件如下所示:
我在文件中有默认策略设置:
<Location /svn/>
DAV svn
SVNParentPath /var/lib/svn/repository
Order deny,allow
Deny from all
</Location>
Run Code Online (Sandbox Code Playgroud)
每个存储库都有一个如下所示的策略文件:
<Location /svn/sysadmin/>
Include /var/lib/svn/conf/default_auth.conf
AuthName "Repository for sysadmin"
require user joebloggs jimsmith mickmurphy
</Location>
Run Code Online (Sandbox Code Playgroud)
default_auth.conf 文件包含以下内容:
SVNParentPath /var/lib/svn/repository
AuthType basic
AuthUserFile /var/lib/svn/conf/.dav_svn.passwd
AuthzSVNAccessFile /var/lib/svn/conf/svnaccess.conf
Run Code Online (Sandbox Code Playgroud)
我不完全确定为什么我需要 default_auth.conf 中的第二个 SVNParentPath,但我今天刚刚添加了它,因为我因为添加 AuthzSVNAccessFile 指令而收到错误消息。
使用完全许可的访问文件
[/]
joebloggs = rw
Run Code Online (Sandbox Code Playgroud)
系统运行良好(并且基本上没有变化),但是当我开始尝试添加任何类型的限制时,例如
[sysadmin:/]
joebloggs = …Run Code Online (Sandbox Code Playgroud) 在过去一两年中,由于许多不同的原因,我遇到了运行进程的服务器的问题,这些进程往往会导致非常重的平均负载。
在这些情况下,我经常可以 ping 服务器,但它对任何其他连接都变得非常无响应,而且我经常不得不重启机器。
造成这种巨大负载的一个原因包括虚拟服务器上配置不当的 Apache 进程,该进程允许分配给它的硬件有太多并发连接,而且我今晚似乎在另一台服务器上运行了一些程序,这些程序似乎做了类似的事情。
我很好奇的是 linux 有工具可以检测非常大的平均负载并以某种方式中断这些进程,从而允许机器从中恢复?
如果我的措辞不好,我很抱歉,我很欣赏它是非常开放的。