NCache 性能基准

2 万次操作/秒

(5节点集群)

结帐性能结果 NCache 在分布式环境中。 这些测试是在 Amazon AWS 环境中进行的。

在我们最新的基准测试中,我们成功地证明了 NCache 只需一个 2 台服务器的缓存集群,就可以线性扩展并实现每秒 5 万个事务。 NCache 以亚微秒延迟提供这种性能。 可扩展性是线性的,这意味着如果您添加更多缓存服务器, NCache 将提供更高的交易吞吐量。

NCache 基准图

NCache 基准图
我们 NCache 性能,因为我们将缓存服务器添加到集群。

观看实际的基准测试视频,以便了解这些基准测试是如何完成的。

在这个视频中,我们将谈论 NCache 性能基准测试数字。 NCache 是一个非常快速和可扩展的 内存中分布式缓存 .NET 系统和 .NET Core 应用程序,今天我们将实现每秒 2 万次操作,同时保持每次操作的延迟小于 3 微秒,只需 5 NCache 服务器。

NCache 超出这一点是线性可扩展的,这意味着您可以根据需要添加任意数量的服务器,并且当您添加更多服务器时,您将获得更多的请求处理能力,超出您的 缓存集群 这也是线性的。

基准设置

让我们回顾一下我们的基准设置。 我正在使用'AWS m4. 10xlarge' 服务器用于我的测试。 我有这五个 NCache 服务器,我在其上配置了我的缓存集群,我有 15 个客户端服务器,我将从那里运行我的应用程序并连接到这个缓存集群。

基准设置
基准设置

我使用 Windows Server 2016 作为操作系统,数据中心版 64 位。 NCache 版本是 5.0 Enterprise,我正在使用 NCache 分区缓存,作为缓存拓扑。

缓存拓扑

这是此拓扑的架构图,其中我们将数据完全分布在分区中,在所有缓存服务器上,客户端连接到所有服务器以进行读取和写入请求。 他们也同时充分利用了所有服务器。 我们没有为此拓扑打开复制,但还有其他拓扑,例如 分区副本缓存,它还配备了复制支持。

缓存拓扑
缓存拓扑

基准环境配置

我有...... 流水线 启用。 这是一个新功能 NCache 5.0 版。 它的工作方式是,在客户端,它会累积在运行时发生的所有请求,并在服务器端立即应用这些请求,并且累积在微秒内完成。 因此,它非常优化,非常推荐在您有高事务负载要求时进行设置或配置。

基准环境配置
基准环境配置

就负载配置而言,我们总共使用 1 万个项目,这些项目将被添加到缓存中,然后您知道,以 80% 的读取和 20% 的写入率模拟读取和写入请求负载缓存。 而且,我们有每个 100 个字节数组,作为缓存中的单个项目。 我每台服务器有 4GB 的缓存大小,我们总共有 30 个应用程序实例,它们将连接到缓存。

数据人口

因此,毫不拖延地,我将开始使用我的 1 万个项目的“数据填充” 缓存集群. 现在,这是我们的演示环境。 我们有 5 NCache 服务器,如前所述。 目前没有任何活动,但我将模拟一个客户端应用程序,该应用程序将连接并在缓存中添加 1 万个项目。

数据人口
数据人口

因此,我已经运行了该应用程序,您会看到所有缓存服务器上都连接了 1 个客户端,并且我们在所有服务器上都有每秒添加计数器的活动。 缓存大小在增加,计数计数器也在增加,每秒请求数是每秒的请求总数。 而且,您可以在缓存集群中添加 1 万个项目。 我现在可以开始读取和写入请求负载,如果我快速向您展示监控详细信息,您会看到 CPU、内存、每秒添加数和每秒请求数的增加以及同样在计数计数器中,缓存大小也增加了。

构建事务负载

我现在将运行应用程序以在此缓存集群上构建一些事务负载,其中包含 80% 的读取和 20% 的写入操作。 所以,让我们快速做到这一点。 而且,您会开始在 PerfMon 计数器中看到所有缓存服务器的活动。

1 万次请求/秒

您可以看到客户端的数量显示大约 10 个客户端,您知道,实例连接到每个 NCache 服务器,在 Fetches 和每秒更新数上都有活动,每秒请求数计数器在每秒 180,000 到 190,000 个请求之间。 而且,因为我们有 5 NCache 服务器,它们是并行工作的,所以,累积这些请求会给我们带来,你知道的,这个缓存集群每秒有 1 万个请求,你可以看到非常一致 数据分布.

1 万次请求/秒
1 万次请求/秒

Web 监控统计数据非常健康,您知道,系统内存和 CPU 非常低,每秒获取数和每秒请求数,显示每秒 200,000 个请求,每秒大约 150,000 个获取数。 更新为每秒 50,000 次更新。 而且,每次缓存操作的平均微秒时间略小于每次操作 10 微秒。 而且,这是这个 Cache Cluster 最好的地方,它在内存中,它确保您从您的缓存中获得低延迟和高吞吐量 NCache 缓存集群。

我们的第一阶段已经完成,我们从缓存集群中成功实现了每秒 1 万次操作。 我有一个截图供参考,我们每个人每秒有 200,000 个请求 NCache 服务器,我们有 5 个 NCache 服务器,同时保持每个缓存操作延迟小于 10 微秒。

1 万次请求/秒实现
1 万次请求/秒实现

因此,每个操作的速度都非常快,并且我们有相当一致的每秒获取和更新组合,以展示真实的应用场景,同时我们可以非常有效地利用 CPU 和内存,其中对于这个特定的测试,我们对这些资源的利用率非常低。

1.5 万次请求/秒

现在我们已经实现了每秒 1 万个请求,是时候增加负载了。 因此,我会运行更多的应用程序实例,以增加事务负载,一旦这些应用程序运行,您就会看到每秒请求数计数器的增加。

1.5 万次请求/秒
1.5 万次请求/秒

首先,您可以注意到客户端数量为 20。20 个实例连接到所有 NCache 服务器和我们的每秒请求计数器现在显示每个每秒 300,000 个请求 NCache 服务器,我们已经从这个缓存集群成功地实现了每秒 1.5 万个请求。

让我快速向您展示 网络监控工具, 用于性能统计。 您可以看到每台服务器每秒的请求数,每秒 300,000 个请求。 每秒获取数略高于 200,000 次,更新数在 50,000 到 100,000 之间。 您可以看到每个缓存操作的平均微秒时间小于 4 微秒,这太棒了,因为我们的延迟非常低,这是“流水线'。 当您有来自客户端的高事务负载时,流水线确实有助于减少延迟并提高吞吐量。 这就是为什么,我们可以建议将其打开。

我们的第二阶段现已完成,我们已经从缓存集群中实现了每秒 1.5 万次操作。 这是此结果的屏幕截图。

1.5 万次请求/秒实现
1.5 万次请求/秒实现

我们现在每人每秒有 300,000 个请求 NCache 服务器。 所以,这已经增加了,我们的延迟也减少了。 我们平均每个缓存操作微秒,现在每个缓存操作大约需要 3 到 4 微秒。 因此,这是一个巨大的改进,而且,我们再次将 Fetches 和 Updates 混合在一起,并再次保持较少的 CPU 和内存利用率。 所以,我们的服务器此时并没有被最大化。 我想澄清一下,你可以进一步拉伸负载,我们接下来会这样做。

2 万次请求/秒

在达到每秒 1.5 万次请求后,我不会停在这里。 让我们进一步增加负载,让我们看看如何 NCache 缓存集群因此而运行。 因此,我正在运行更多应用程序实例,您会看到每秒请求数计数器进一步增加。 您可以看到 30 个客户端,您知道,实例现在已连接到所有 NCache 服务器,我们已经看到每秒请求数计数器的增加。

2 万次请求/秒
1.5 万次请求/秒

你现在可以看到,我们已经成功地触及了每秒 400,000 个请求 NCache 服务器。 我们有 5 个 NCache 因此,服务器每秒总共发出 2 万个请求 NCache 缓存集群。 因此,通过增加客户端的事务负载,您可以清楚地看到, NCache 已达到每秒 2 万次请求。 而且我们每个缓存操作的平均微秒时间小于 3 微秒,而且我们还有系统内存和处理器时间,你知道,CPU 远远低于限制,我在这两个方面都有 40% 到 50% 的利用率。

如您现在所见,我们已成功实现每秒 2 万次操作。 因此,让我们在屏幕截图的帮助下查看这些结果。

NCache 基准统计
我们 NCache 当我们达到 2 万次操作/秒时监控统计数据。

我们现在每人每秒有 400,000 个请求 NCache 服务器,每秒总共产生 2 万个请求,而且令人高兴的是延迟进一步下降。 我们现在每个缓存操作延迟为 2 到 3 微秒,这再次比之前的结果有所改进。 您可以再次看到 Fetches 和 Updates 的混合,以及 CPU 和内存资源的高效利用。

就像我说的, NCache is 线性可扩展,所以,让我们回顾一下我们的可扩展性数字。 你知道,通过增加服务器的数量,你可以看到 NCache 以相当线性的方式向外扩展。 有 5 NCache 服务器,我们能够达到每秒 2 万个请求,并且您可以添加越来越多的服务器,并且这种趋势将进一步呈线性,其中更多的服务器意味着更多的请求处理能力,超出 NCache.

结论

这使我们接近视频的结尾。 所有这些测试结果和示例应用程序都可以在我们的网站上找到,您可以在您的环境中自行下载和查看。 如果有任何问题,请随时与我们的销售人员联系(sales@alachisoft.com) 以及在我们的支持下 (support@alachisoft.com) 团队。 非常感谢您的宝贵时间。

相关内容

NCache 介绍 (09 分 28 秒)
入门的五个步骤 (16 分 28 秒)
NCache 建筑 (17 分 39 秒)

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。