手工调优重负载-版本5和6

阿里尔Kabov
2023-01-22还剩11分08秒

相关版本:Artifactory 5 & 6。
对于一个工匠来说。X调优指导参观在这里

Artifactory提供了一组预定义的默认配置和参数。
如果您认为Artifactory服务器没有得到充分利用,或者为了允许它在给定时刻处理更多进程,可以调优Artifactory以支持更高的负载。
虽然它总是可以通过添加额外的节点到您的HA集群在这里,我们将关注一个更垂直的尺度。

推荐:Artifactory在您的组织中变得越重要,就越需要有一个监控系统来监视Artifactory。
你可以在监控和优化工厂性能

JVM内存

要修改JVM内存分配,请参考对应的说明Linux、Solaris或Mac,或窗户.请遵循我们的硬件建议
在增加JVM内存分配时,请确保为主机操作系统留出一些gb的RAM。

数据库连接

我们可以改变Artifactory可以打开到DB的最大连接数。这将在美元ARTIFACTORY_HOME / etc / db.properties配置文件。

默认值:pool.max.active = 98

调优示例:pool.max.active = 300

重要的是:以上参数由Artifactory使用,访问,以及锁定机制
这意味着一旦使用了上面的示例,作为服务器的Artifactory将打开多达900 DB的连接。
因此,我们需要确保DB能够容纳所有Artifactory节点可以打开的连接总数。
根据经验,我们将从DB中需要一些连接,基于:总连接数=(节点数)* 3 * (pool.max.active) + 50;

Tomcat HTTP连接/线程

Artifactory管理几个线程池。其中之一是HTTP线程池,这是Artifactory可以处理的并发传入HTTP连接的数量。
这是在$ ARTIFACTORY_HOME / tomcat / conf / server.xml.Artifactory和有单独的HTTP连接池访问

默认值:<连接器端口="8081" sendReasonPhrase="true" relaxedPathChars='[]' relaxedQueryChars='[]'maxThreads = " 200 "/>
<连接器端口="8040" sendReasonPhrase="true"maxThreads = " 50 "/>

调优示例:<连接器端口="8081" sendReasonPhrase="true" relaxedPathChars='[]' relaxedQueryChars='[]'maxThreads = " 1024 "/>
<连接器端口="8040" sendReasonPhrase="true"maxThreads = " 250 "/>

连接器端口= " 8081 "代表Artifactory,连接器端口= " 8040 "是为了访问。
**当更新AccessmaxThreads,则需要更新美元ARTIFACTORY_HOME / etc / artifactory.system.properties文件:artifactory.access.client.max.connections =

Artifactory异步线程池

Artifactory中最重要的线程池之一是“异步”线程池。它定义了可以并行运行的后台进程的数量。
除了配置并行进程的总数外,我们还可以修改可以排队的最大进程数。
这是在美元ARTIFACTORY_HOME / etc / artifactory.system.properties

默认值:
(这意味着机器的CPU核数乘以4)artifactory.async.corePoolSize = (4 * Runtime.getRuntime().availableProcessors())
artifact .async. poolmaxqueuesize = 10000

调优示例:
(不应超过机器CPU核数的8倍)artifact .async. corepoolsize = 128
artifactory.async.poolMaxQueueSize = 100000

垃圾收集

默认情况下,Artifactory垃圾收集配置为每4小时运行一次。
GC是一个非常消耗资源的操作,如果您发现GC的运行周期与性能变慢之间存在相关性,我们建议您更改Artifactory GC(不相关的JVM GC)在非高峰时间运行。

HTTP客户端

Artifactory为每个远程存储库的传出HTTP请求管理一个单独的连接池。
默认情况下,此连接池限制为50个并发连接,并且每个唯一路由最多限制为50个并发连接。

这是在美元ARTIFACTORY_HOME / etc / artifactory.system.properties

默认值:Artifactory.http.client.max.total.connections = 50
artifacts .http.client.max.connections.per.route = 50

调优示例:clients .max.total.connections = 100
max.connections.per.route = 80

Filestore配置

Artifactory支持不同的后端存储配置来存储Artifactory filestore
对于配置的存储不是本地的场景,可以使用较大的存储空间来提高性能Cache-FS提供者在本地安装。
缓存的文件将很快得到处理,因此拥有一个大型的Cache FS提供程序将会提高性能。

一些文件存储提供程序允许参数调优和修改。例如:
最终:“numberOfThreads”。
Eventual-Cluster:“maxWorkers”。
远程:“maxConnections”。