疯狂缓存的测试剂

 

祝大家今天愉快

遇到了以下问题。

在系统中拥有32个逻辑处理器--分别使用32个代理进行优化(+另外40个远程的)。

每个代理相当快地建立了完全不够用的缓存,大小为2-2.6GB,总共每天超过70GB!缓存不会自我删除,而且不断增加。阻止疯狂的唯一原因是磁盘空间耗尽。之后,特工们愚蠢地停止工作。

问题如下。

有人遇到过这样的问题吗?我如何处理它呢?是什么原因导致了如此大的缓存容量?

写了一个请求给servicedesk,到目前为止还没有消息。

 
P.S.: 终端为64x位,最新版本
 
alrane:

大家下午好!

遇到了以下问题。

在系统中拥有32个逻辑处理器--分别使用32个代理进行优化(+另外40个远程的)。

每个代理相当迅速地建立起完全不够用的缓存,大小为2-2.6GB,一天之内总共超过70GB!缓存本身并没有被删除,而且在不断增加。阻止疯狂的唯一原因是磁盘空间耗尽。之后,特工们愚蠢地停止工作。

问题如下。

有人遇到过这样的问题吗?我如何处理它呢?是什么原因导致了这样的缓冲区大小?

写了一个请求给servicedesk,到目前为止还没有消息。

缓存的大小取决于生成的刻度线的数量(即测试时间越长,字符数越多,缓存越大)。

在你的案例中,主要问题可能是代理的数量,因为现在(build 1495)每个代理都使用自己的 缓存实例

缓存空间在代理停机5分钟后被释放。

此外,如果在云中使用代理,测试器中的代理的tick历史可能需要空间(tick历史最终也会被清理,但会经过几天或几周)。

顺便说一下,云代理和本地代理是不同的。在图片中,同一台计算机上的云代理被添加到本地网络农场 - Voilà!我们在一个有两个核心和四个逻辑处理器的处理器上得到了8个测试代理(是否值得这样做是另一个问题)。

 
灰烬

В Вашем случае, вероятно, главная проблема - количество агентов, т.к. сейчас (билд 1495) каждый агент использует собственный экземпляр кэша!

这就是(愿开发者原谅我)测试员组织的愚蠢之处,当代理的数量从一个优势变成一个问题。

测试仪根本没有任何设置,所以不可能为你的系统进行优化。在输出中,我们得到了硬盘的滥用,有大量的小文件被重写(在系统中32个代理的情况下,SSD 120GB每天高达800GB),而且有趣的是,当时的核心是空闲的。

通过在不同的物理驱动器上以便携式模式运行4个不同的测试器,部分解决了这个问题。包括RAM-diske,因为测试者留下了大量的内存无人看管。

顺便说一下,在RAM磁盘上运行带缓存的代理,通常可以将性能提高3倍。这再一次指出了测试人员令人厌恶的组织方式。

灰烬

顺便说一下,云代理和本地代理是不同的。在图片中,同一台计算机上的云代理被添加到本地网络农场 - Voilà!我们在一个有两个核心和四个逻辑处理器的CPU上得到了8个测试代理(你是否应该这样做是另一个问题)。

你不应该这样做,因为同样的原因--核心也将等待来自磁盘的数据,但已经是双卷了。我认为这只会降低性能。
 
alrane:
这就是测试员组织的(请原谅我是开发者)愚蠢之处,代理人的数量从一个优势变成了一个问题。

测试仪根本没有任何设置,所以不可能为你的系统进行优化。在输出中,我们得到了硬盘的滥用,大量的小文件被覆盖(在系统中32个代理的情况下,120GB的固态硬盘每天高达800GB),而且有趣的是,在这段时间里,核心保持空闲。

...
顺便说一下,在框架磁盘上运行带有缓存的代理,通常可以将性能提高3倍这再一次指出了测试人员令人厌恶的组织方式。

...

写信给服务台。

 
我以前写过。这是没有用的。
 

要从一个硬盘上读取几千兆字节的数据是 "恶心的组织"?即使只是以200mbps的平均速度从固态硬盘中读取1GB的数据,也需要5秒钟。如果外面有4-32个代理人呢?

你只是考虑到任务的技术层面。没有什么是免费的,没有人把技术要求乘以零。

技术解决方案和代理优化水平是惊人的--我们投入了大量的工作,从所有的过程中刮出了几毫秒。不要忘记数据量,放入更多的内存,放入更大的sd,放入框架磁盘,一切都会加速。

所有这些东西的价格已经很合理了,但正在解决的等级和数量需要一个严肃的方法。

 
alrane:

每个代理正在迅速建立一个大小完全不够的缓存,2-2.6GB,一天内总容量超过70GB!缓存不会自我删除,而且不断增加。阻止疯狂的唯一原因是磁盘空间耗尽。之后,特工们愚蠢地停止工作。

这样的体积还有什么好缓存的呢!?
 
fxsaber:
这样的体积还有什么好缓存的呢!?
通常情况下,交易者喜欢看文件夹的大小,而没有注意到有几十G的他们个人产生的大量日志。

数据缓存一切正常。我们把它放在光盘上,储存在内存中等待重播。请注意在同一个代理上重新计算的速度有多快(拿一个代理和一次运行来证明效果)。



还有一件事--我们非常少用磁盘工作。我们以大的倍数写作,并清楚地了解SSD磁盘的特殊性。
 
Renat Fatkhullin:
交易者通常喜欢检查文件夹的大小,而没有注意到有大约10 Gbytes的大的、个人产生的日志。
我们谈论的是每个本地代理的千兆字节的缓存。我还是不明白,有什么东西能在那里储存得这么多?
alrane:
通过在不同的物理磁盘上以便携式模式运行4个不同的测试器,部分解决了这个问题。包括RAM-diske,因为测试者留下了大量的内存无人看管

顺便说一下,在RAM磁盘上运行带缓存的代理,通常可以将性能提高3 倍。这再次指出了测试者令人厌恶的组织。

如果代理的优化水平是 "了不起的",那么RAM-磁盘组织有什么理由能将性能提高许多倍呢?在我看来,合乎逻辑的问题,虽然令人不快。

ZS 我们需要得到一些软件,可以消除代理人的记录。它们在这样的数量下是无用的。在优化过程中,用户应在代码中禁用打印+警报 功能。

 

fxsaber:
Речь шла о гигабайтах КЕША на каждый локальный агент. Мне до сих пор не понятно, что можно там хранить в таких количествах?

与其在论坛上发言,不如自己看一看。

如果代理优化的水平是 "惊人的",那么组织RAMdisk来倍增性能的原因是什么呢?在我看来,合乎逻辑的问题,虽然令人不快。

因为我们没有权利为缓存吃掉100%的内存并无限期地保留它。但如果一个人自己创建了一个32-64gb的磁盘框架,把代理搬到那里,并开始积极地使用磁盘工作,那么是的,有可能获得磁盘操作 速度的许多倍。

但具体到磁盘操作,不是 "一下子增加N倍"。

测试仪对数据的处理是惊人的,任何在恒定模式下使用它的人都可以看出,并从预热的测试仪缓存中获得很多好处,在后台等待新的运行。实验通常是几十或几百次的测试者运行,并不断重新编译代码。

HH 我们需要某种软件来擦除代理日志。我们不需要这么大量的东西。而打印+警报应该由用户在优化过程中在代码中禁用。

测试仪的记录会自动删除。使用测试器的人知道这一点。而测试仪的缓存一旦被终端了解到不再使用,就会立即被清除掉。

topikstarter以 "多长时间?"的模式开始了这个话题,并发表了一些未经证实的声明。如果他提供了正确收集的数据,50%的问题会在数据收集阶段就落空。