您的版本控制系统帮助团队进行主动监控吗?
Perforce Helix Core的客户经常在不同维度上测试规模和性能的极限。其中一些维度包括文件数量、文件大小、用户数和并发事务数量。随着这些维度的压力增加,服务器资源(如内存和CPU)通常也会受到压力。
Perforce Helix Core 2023.1版本的发布包含了新功能——资源压力感知(Resource Pressure Awareness),旨在确保在遇到不可预测的负载时,Perforce Helix Core能够可靠地执行任务。它通过限制接受的工作量,防止特定物理资源的耗尽。需要注意的是,这些增强功能是建立Perforce Helix Core 2022.2版本引入的功能之上,该功能可以防止恶意用户执行失控命令。
本文将解释什么是资源压力感知,以及如何进行设置。欢迎继续阅读,了解并使用Perforce Helix Core的主动监控功能。
资源压力感知(Resource Pressure Awareness)允许系统管理员启用资源监控,并设置限制条件,以在服务器负载过高时采取限制措施,保持服务器的可用性。
资源压力感知用于主动监控。它确保服务器不会耗尽可用内存和/或耗尽可用 CPU。因为任何一种资源耗尽都可能会导致计划外的停机,从而对开发速度产生负面影响。
请务必注意,某些功能取决于基础操作系统的能力。例如,CPU感知仅适用于基于Linux的操作系统,并且Linux版本必须支持cgroups v2。
资源压力感知的目标是防止资源使用出现较大峰值。服务器将平衡这种峰值,然后将负载分散到更长的时间段内。
要启用资源压力感知,只需将Perforce Helix Core服务器升级到2023.1版本(或更高版本)。
升级后,您将拥有大量新的可配置项供您使用。这些可配置项如下:
基于百分比的内存阈值,范围为0-100,表示总系统内存与可用内存(无需交换)的比率;
sys.pressure.mem.high
sys.pressure.mem.medium
基于操作系统提供的资源压力阈值,范围为0-100,定义为系统上因资源而停滞的进程的百分比。这些可配置项仅适用于支持cgroups v2的Linux服务器;
sys.pressure.os.cpu.high
sys.pressure.os.mem.high
sys.pressure.os.mem.medium
在暂停之前,单个命令可以等待的最长秒数,超过这个时间将向客户端返回错误。
sys.pressure.max.pause.time
当达到上述任何的中等阈值时,新的输入命令将自动进入暂停状态。同样的,当达到任何高阈值时,新的输入命令将自动终止。
这里没有提到的还有一些其他的高级配置选项,它们不太常用。您可以在《Helix Core服务器管理员指南》*中找到详尽的列表。
*《Helix Core服务器管理员指南》官方文档为英文版,如需帮助及中文支持,请联系Perforce授权合作伙伴——龙智团队(电话:400-666-7732,邮箱:[email protected])
1.设置服务器ID名称,因为这是后台进程的先决条件。
p4 serverid $name
2. 启用实时监控,因为这是资源监控器与正在运行的命令通信的方法。
p4 configure set "$name#startup.1=admin resource-monitor"
3. 启用资源监控后台进程,它会采样资源压力并计算处理方法。
p4 configure set "$name#startup.1=admin resource-monitor"
4. 启用预览模式。
p4 configure set sys.pressure.max.pause.time=0
5. 重新启动服务器,以启用后台进程。
p4 admin restart
6. 等待足够的活动,确保服务器没有指示它会暂停任何您意料外的内容。要预览暂停的内容,请检查p4 admin资源监控器后台任务的日志条目中的"Server under resource pressure. Pause rate"消息。
7. 如有必要,请调整可配置项,直到对预览结果满意为止。
8. 假设您对结果感到满意,请关闭预览模式。这将启用完整的资源感知功能。
p4 configure unset sys.pressure.max.pause.time
以下是内存压力配置选项之间的关系图:
立即升级到最新版本Perforce Helix Core,开始使用资源压力感知功能。还没有Perforce Helix Core?立即联系Perforce中国授权合作伙伴,获取大规模加速创新的团队都在使用的版本控制系统,最多免费支持五个用户。
作者简介:
Brent Schiestl
Perforce Software产品管理总监
Brent负责Perforce的版本控制产品组合。他喜欢做客户和软件开发团队的桥梁,乐于解决各种难题。在闲暇时间,他喜欢与家人共度时光,保持活力,并且对曲棍球运动有浓厚兴趣。
文章来源:https://bit.ly/43iRtMk