CVS 性能

发布于 2024-07-25 04:44:40 字数 89 浏览 6 评论 0原文

我在 CVS 存储库上有一个巨大的项目,并且我正在寻找提高其性能的方法。 CVS 压缩有帮助吗? 那么加密呢,它会降低速度吗?

谢谢!

I have huge projects on a CVS repository, and I'm looking for ways to improve its performance.
Would CVS compression help it? And what about encryption, does it degrade the speed?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱情眠于流年 2024-08-01 04:44:40

随着时间的推移,重复使用 CVS 会变得更慢。

  • 当您检出整个项目时,服务器将需要创建每个目录(即使您已经删除了它 - 检出后清除目录会向您隐藏此目录)。
  • 当您签出时,每个文件都会打开并检查,如果您有数百/数千个文件,这可能会非常慢。
  • 如果您不尝试取出主干的 HEAD,情况会变得更糟,因为在将其发送给客户端之前需要重建内容。

如果在完成所有这些之后,您希望提高在服务器和客户端之间传输数据的性能,那么您可以(取决于您的内容类型)使用 -z 选项进行压缩。 我发现 -z6 是最好的,但根据文件的性质,您可能需要更多/更少的压缩。

-z GZIPLEVEL

设置与服务器通信的压缩级别。 参数 GZIPLEVEL 必须是 1 到 9 之间的数字。 1 级是最小压缩(非常快,但压缩不多); 9 级是最高压缩(使用大量 CPU 时间,但确实会压缩数据)。 级别 9 仅适用于非常慢的网络连接。 大多数人认为 3 到 5 之间的级别最有益。

-z 及其参数之间的空格是可选的。

CVS will get slower over time through repeated use.

  • When you check-out the whole project, the server will need to create every directory (even if you've since removed it - purging directories after checkout hides this from you).
  • When you check-out, every file is opened and examined, this can be very slow if you have hundreds/thousands of files.
  • Things get even worse if you are not trying to get out the HEAD of the trunk as the contents need to be reconstructed prior to sending it to the client.

If after all of that, you want to improve performance of shifting the data between the server and the client, then you can (depending upon your content type) use the -z option for compressing. I find -z6 to be best, but depending upon the nature of your files, you may want more/less compressing.

-z GZIPLEVEL

Sets the compression level on communications with the server. The argument GZIPLEVEL must be a number from 1 to 9. Level 1 is minimal compression (very fast, but doesn't compress much); Level 9 is highest compression (uses a lot of CPU time, but sure does squeeze the data). Level 9 is only useful on very slow network connections. Most people find levels between 3 and 5 to be most beneficial.

A space between -z and its argument is optional.

蒲公英的约定 2024-08-01 04:44:40

性能问题通常与 IO 相关。 (除非您看到您的 CPU 达到 100%)。 我建议尝试将存储库放在更快的驱动器阵列(RAID 10 和/或更高 RPM 驱动器)上,看看这是否会提高您的性能。 如果您通过互联网访问存储库,那么它可能是一个带宽问题,尽管根据您所讨论的数据量,即使是简单的 DSL 连接也应该能够处理它。

Performance issues are usually IO related. (Unless you can see your CPU maxing out at 100%). I'd recommend trying to put the repository on a faster drive array (RAID 10 and/or higher RPM drives) to see if that increases your performance. If you are accessing the repository over the internet, then its likely a bandwidth issue, although depending on how much data you are talking about, even a simple DSL connection should be able to handle it.

春庭雪 2024-08-01 04:44:40

cvs 它本身无法压缩 afaik,但如果使用 ssh 进行传输,ssh 可以做到这一点(我认为默认情况下会这样做)。 如果连接速度较慢,这将有所帮助。
编辑:实际上 cvs 获得了 -z 选项(正如 ssh 获得了 -C )

加密并不是用来提高性能的东西。 使用 ssh 也会进行加密,但这不是为了性能而是为了安全。

无论存储库位于何处,存储库和临时文件的磁盘访问都会影响性能。 结合记忆。 签出时,cvs 将构建发送给客户端的内容(作为临时文件)。 这会导致大量的磁盘访问,并且在某些情况下会导致内存使用(特别是在处理大型二进制文件时)。

cvs it self can't compress afaik, but if using ssh for transport ssh can do that (and do this by default I think). This will help if having slow connection.
edit: actually cvs got the -z options (as ssh got the -C )

Encryption is not something one use to increase performance. Using ssh will do encryption aswell, but that's not for performance but security.

Wherever the repository sits, disk access for repository and temporary files will affect performance. That combined with memory. When checking out, cvs will build what to send to the client (as temporary files). This caused a lot of discaccess and in some cases memory usage (esp if dealing with big binary files).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文