安装和配置 NCache 用于分期和生产

录制的网络研讨会
通过罗恩侯赛因

NCache 是一个强大的 .NET 分布式缓存,可提高您的应用程序性能和可伸缩性。 该网络研讨会向您展示了部署方法 NCache 在登台和生产中使用最佳实践来微调系统。

由我们的高级解决方案架构师提供,议程包括:

  • 概述 NCache 暂存和生产环境中的部署选项
  • 简介 NCache GUI 和命令行安装和缓存配置选项
  • 重要配置和最佳实践
  • 贯穿始终的动手示例和演示

大家好,我叫 Ron Hussain,我将成为你们今天网络研讨会的主持人。 非常感谢您的加入。 这是一个专注于 NCache 安装和配置,今天我将向您展示不同的方法,所以再次非常感谢您参加这将是一个动手实践的网络研讨会。 因此,我将介绍产品的不同方面、不同的安装选项和配置选项,并将向您展示与两种不同环境相关的内容。 所以,我会很快开始,因为还有一段时间。 因此,我将使用它来介绍有关此网络研讨会更多内容的一些细节。

所以,这将是一个只听的网络研讨会,我将在其中进行大部分谈话,但您可以随时参与,您可以使用问题和答案选项卡,您可以在前往会议面板上找到这些内容请使用它并根据需要发布尽可能多的问题,我会密切关注它,我很乐意回答您的所有问题。 所以,请给我一点时间,让我快速设置环境,同时我们将快速开始,对于那些已经加入的人,请使用问题选项卡并确认你可以看到我的屏幕和你能听到我的声音。 那很好。 我认为我们很好。 所以,我可以从你们中的一些人那里得到确认,一切看起来都很好,这很好。 让我快速确保我拥有所有环境,您将在其中进行设置,我们将开始使用它。 好的非常好。 所以,我认为,是时候了,无需等待,让我们快速开始吧。

我们今天选择的主题叫做安装和配置 NCache 适用于您的登台和生产环境。 正如我之前提到的,这严格来说是一个动手实践的网络研讨会,我们将举办一系列这样的网络研讨会,我将介绍产品的不同方面、不同的功能、你可以采用的不同方法,但这是该系列中的第一个网络研讨会,我在其中讨论了安装和配置的第一个也是非常基本的步骤 NCache. 这就是我的议程,但实际上我会以这样一种方式来介绍它,我将讨论两种不同的环境。

两种环境的概述

首先,我们将介绍我们的暂存环境,然后我们将介绍生产环境,我将有两种不同的方法来解决这些问题,我还将在演示过程中分享一些最佳实践,然后给出你这些的演示。 所以,让我们快速开始吧。

分期环境

首先,暂存环境是,我很确定你们中的大多数人已经知道这一点。 它是一个预生产、用户访问测试、性能测试或任何其他 QA 环境,可为您提供生产环境测试的真正基础。 所以,它是生产前的环境,是生产环境的镜像。 因此,这里也提供完全相同的配置,但它还没有暴露给您的最终用户,它是测试的最终基础,并且在您的应用程序发布之后,如果一切都正确签署。

生产环境

然后我们有生产环境,这实际上是您发布的应用程序实际用户使用它,不再有任何测试产品的空间,但您仍然可以调试一些错误,问题,但这在生产环境中非常罕见,您总是会走路在新版本上,并通过开发、质量检查和登台环境周期。 所以,关于 NCache 部署,您可能正在部署 NCache 在您的登台中,因为它成为您登台环境的一部分,同时一次,您推出生产, NCache 部署在这方面也变得非常重要。

部署

我会多谈一点 NCache 部署,您可以在屏幕上看到有一个服务器端部署,其中 NCache 执行服务器安装,然后您可以拥有两到三台服务器或更多取决于您的用例,然后您就有了 Web 应用程序层。 它可以是您需要的 Web 应用程序、Web 服务或任何其他服务器应用程序 NCache 客户部分。 因此,正如我提到的,我们将在两个不同的环境中介绍这个特定的部署。 因此,我将向您展示服务器安装以及客户端安装,并讨论差异。

NCache 系统要求

很快,这是我想介绍的另一张幻灯片,系统要求是什么? 所以,缓存服务器最少,建议你有八核或更多,这样你就有很好的处理能力。 内存取决于您的使用情况,一开始是 16 GB 盒子,然后您可以根据使用情况添加更多 RAM,您需要在缓存中添加越来越多的数据,然后您也可以拥有 1-10千兆网卡。 一个就足够了,但如果你能设法拥有两个,有一个功能可以让你同时使用两个网络接口卡 NCache 通讯。 然后它通过了 Windows 2012 认证,但您可以在任何 Windows 环境(例如 2016 或 2008)上运行。只有 prereq for NCache 是 .NET 4.0 或更高版本,这是您在服务器上需要的最低要求。

Remote clients,您的应用程序在哪里运行并且您需要 NCache 客户端部分可用。 您需要 .NET 4.0 或更高版本,这是我们推荐的,但没有任何特定要求 .NET framework. 可以是4.6.1、4.6.2,也可以是2.0,也可以是3.5。 伙计们,如果有任何问题,请随时使用问答选项卡。 我正在关注它。 因此,如果您一提出问题,我就会迅速跳起来并正确回答。 因此,让我们保持本次会议的互动性,您提出问题,我同时回答所有这些问题。

暂存中的安装和配置(手动)

好的,正如我所提到的,这是一个动手实践的网络研讨会,所以我不会花更多时间来讨论。 我实际上将向您展示实际的产品。 因此,我将首先向您展示暂存环境中的安装和配置。 我设置了一个环境,由于某种原因我的终端无法正常工作。 所以,我不得不恢复到实际的远程桌面,所以我打开了几个客户端。 我将选择一些暂存环境服务器,然后我将快速使用客户端和服务器安装。 我很高兴为您提供安装和此环境的演示,因为分阶段您可以进行更改,当您测试它时,您可以安装,您有时间进行安装,您可以更改配置并进行实验然后回来改变它。 因此,我将为这个环境介绍基于 GUI 的方法。 所以,让我们开始吧。

所以,我们有一台服务器,它有一台服务器,我已经卸载了 NCache 从这个盒子里。 这是服务器,我将用于安装 NCache. 所以,第一步是你 下载 NCache 从我们的网站上,您注册它并下载该产品的 30 天完整试用版并获得安装程序,然后使用该安装程序并在所有服务器和客户端部署上执行安装。 所以,我要去 我已经下载了这个。 我要使用这个安装程序,我要快速安装 NCache 在其中一台服务器机器上。 因此,我将以管理员身份运行生成命令提示符。

CMD

这只是为了确保安装程序以明确的管理员权限运行,接下来是,因为我们已经将安装程序复制到此服务器上。 我只是想验证一下,这是可用的安装程序。 因此,30 天试用期完全可用。 我将只提供此安装程序的路径并运行一个快速命令,我敢肯定您应该对此很熟悉。

cmd2

这是 msiexec,然后它采用安装程序路径,它将生成具有显式以管理员身份运行选项的安装程序,然后为此显式提供管理员权限。 你也可以双击它。 所以,双击也会产生安装程序,这很好,但因为我们有 msiexec 工具。 所以,我可以通过管理员明确地运行它,这就是我所做的。

您可能需要的下一件事是让我把它带到这里,让我在您下载安装程序后立即获取安装密钥,安装密钥是通过电子邮件发送给您的。 由于我在本地可以使用它,所以我将使用它并使用安装选项。 所以,我只是要再运行一次安装程序,选择下一步。 一步一步完成安装步骤,然后引导您完成,您会发现什么以及实际安装时发挥作用的不同选项 NCache. 所以,我当然在阅读后接受许可协议。

有三个安装,我想介绍一些关于这些的细节。 我已经解释过了 NCache 部署架构,如果我把它带回来,我们有服务器层,它是一个专用的缓存层,缓存服务器层,你可以有多个服务器,这就是你需要的地方 NCache 服务器安装。 它是一个功能齐全的产品,它为您提供集群功能,同时您可以运行本地客户端来使用它。 这意味着您可以在服务器本身上运行应用程序,然后我们拥有我们的应用程序层,您需要在其中安装更多客户端。 它为您提供本地缓存,因此可以在 remote client. 它不附带集群,它还允许您连接到远程缓存,我们拥有的第三个选项基本上是开发人员安装,这是您的开发人员可以使用的地方。 他们可以为本地开发安装它。 它不附带集群,它不允许您访问更多缓存,但它确实为您提供了本地缓存,您可以在本地开发并且它也不会过期。 所以,它就在那里,它不需要任何事物的任何永久许可证。

所以,我要添加缓存服务器。

缓存服务器

提供安装密钥,我希望我已经复制了它。 是的,我做到了,然后按了 Tab 键。 选择下一步。

缓存服务器2

特此指定我的详细信息,电子邮件地址。 由于一切都是手动的,因此您将自己手动完成所有操作。

缓存服务器3

这是一个附带安装,您可以在其中浏览 GUI 选项并自己在不同的选项之间进行选择,就像我在生产环境中提到的那样,我将使其自动化。 我将向您展示不同的方法,您可以在其中完成相同的任务,但您不必参与其中。 您设置了一些脚本,设置了这些选项,一切都会使用这些脚本自动完成。 您可以选择要安装的内容。 因此,我将通过这些,此时我不需要服务器的 Java 客户端,但我可以保留所有内容,然后选择下一步并点击安装,这将在我的缓存服务器上完成安装以及我的客户。

缓存服务器4

所以,这就是它的简单之处 NCache 安装就服务器和客户端安装而言。 为了 remote clients,您只需要遵循相同的方法并覆盖安装即可。 这些只是为了向您展示,因为我的终端由于某种原因无法工作,但我有这些服务器。 所以,一二和三这些将是缓存服务器和客户端一二和三,这些将是 remote clients。 我刚安装 NCache 在 89 上,但这些其他服务器已经安装了 NCache. 为了节省时间,我实际上要继续进行配置,但安装过程保持不变。 请让我知道,如果此时有任何问题?

接下来我要做的是,我要把这个放在前面,给我一点时间,然后因为我有我的一个登台客户和那个 IP,让我复制 IP从这里。

接下来就是,实际上安装完成了,现在我们进入配置部分,我们已经在 3 上完成了安装 NCache 服务器到 remote clients。 所以,这就是我将在接下来的部分中使用的内容,我将向您展示这三台配置了不同缓存的服务器,这就是我的想法。

在暂存中配置缓存

我将拥有三个不同的缓存,我将拥有一个用于数据库对象的对象缓存。 我不会用它创建客户端缓存,因为客户端缓存用于更多的读取和写入。 这个缓存的议程是它会有数据库对象,但这些对象的操作类型将被读取和写入。 所以,客户端缓存不会真正给我它应该的好处。 所以,我只保留对象缓存,并为此设置一些配置。

然后第二个缓存将是会话缓存,即用于 ASP.NET 会话,通常是无代码更改选项。 当你打算使用 NCache,它不需要任何代码更改,我将对会话缓存进行一些特定的设置。

然后,我们将有第三种缓存,即静态缓存。 我也会用它创建一个客户端缓存,因为这将处理比写入更多的读取。 因此,更多的是参考性质的数据,我会将这些数据推送到客户端缓存中,并向您展示此处列出的一些配置。

创建集群缓存

所以,让我们开始吧。 让我检查一下IP,那是服务器。 因为我的服务器已经准备好了。 我会快速开始 NCache 管理器工具。 它就在这里。 所以,这是主要的管理工具,基于 GUI 的工具,附带安装 NCache 并让您从一个中心点管理和配置所有内容,我将使用此工具进行所有配置,并且再次,这是一个手动步骤。 这是您的系统管理员登录到服务器,尝试不同的配置。 所以,这就是,暂存环境的首选方法是什么有任何问题。 请在问答选项卡中输入。 所以,如果有任何问题,我可以解决这些问题。

所以,首先,我将保存这个项目。 这是我们的 sampleproj 并开始创建我们的第一个缓存,我将其命名为幻灯片中所示的 objectcache,这些是实际上创建新集群缓存的访问。 因此,我将带您了解一些发挥作用的重要设置。 我将保留数据格式二进制,因为我想使用可以在应用程序之间共享的序列化数据,但也有一个对象格式,如果您对使用网格计算感兴趣,应该只选择这种对象格式特点 NCache,比如 MapReduce,入口处理器之类的东西。 所以,我现在保留二进制格式。 选择下一步。

创建缓存

您可以选择四种缓存拓扑。 我们有分区副本缓存、分区缓存、镜像和复制缓存。 分区副本缓存是最流行的一种。 所以,我将继续这样做,保持操作超时和复制间隔为 600。这是两个服务器节点之间的统计复制和时间。 所以,我只是将这些保留为默认值,因为它们已经过调整并且应该可以正常工作。 所以,我将继续这样做。

分区副本缓存

我选择复制模式,这是分区副本缓存异步的特定设置。 顺便说一下,我们在常规演示中详细介绍了缓存拓扑。 因此,本次网络研讨会的范围是向您展示不同的配置选项。 因此,我将更多地关注配置。 我将保持异步,这是活动服务器分区复制数据到备份,这不是根据每个请求的请求异步进行的。 所以,我要选择异步。 它更快,在这里,我将指定将托管我的缓存的服务器。 我有 147 作为我的第一台服务器,我也有 167 作为我的第二台服务器。 还有第三台服务器,但我现在不会添加它。 我想向您展示,您也可以在运行的缓存集群上动态添加服务器。 所以,我会在缓存启动后等待,然后根据需要添加第三台服务器。 因此,此时您可以添加额外数量的服务器并根据您的负载,如果您的应用程序需要更多服务器来处理增加的负载以适应这种情况,您也可以在稍后阶段添加更多数量的服务器。

IP 地址

TCP 端口,每个缓存在分区副本中的一个端口上运行,每个缓存使用两个端口。 一个用于活动,一个用于备份在同一个盒子上。 因此,将为此缓存选择 7802 和 7803,您也可以更改它。 每当您更改端口时,它总是会为此拓扑选择两个端口。 因此,我保留默认值,因为我希望拥有 7802,然后从该点开始递增以用于下一个缓存。 因此,我选择下一个缓存集群的大小,这就是您的内存需求发挥作用的地方,您可以根据应用程序需求相应地选择服务器的物理内存。

有个问题。 所以,让我来解决这个问题,好吧,有一个问题。 你能把你的部署示例脚本发给我吗? 当然,这就是本次网络研讨会的重点,我们将在其中向您展示脚本并在网络研讨会结束时向您展示。 如果有人需要脚本,我们实际上也会将这些脚本发送给客户。

还有一个问题,manager可以在本地机器上使用吗? 是的,它可以在本地机器上使用,它可以是缓存服务器之一,但它也可以是远程服务器,这也是我的想法。 我实际上设置了生产环境,但甚至没有登录生产服务器,我将使用一台服务器作为管理服务器,用于监控和管理缓存。 所以,这是一个很好的问题,请继续关注,希望所有这些问题都能得到解答,但请继续提出,很高兴能从你们那里发布这些问题。

好了,接下来就是内存了。 因此,内存是基于使用情况的,例如,如果您可以预期每个服务器需要两个 gig 或一个 gig 的内存,那么您应该根据服务器的数量进行相应的分配,您应该计划缓存的大小为了适应您的应用程序的所有负载。 所以,我将选择 1024 一个 gig,它将使用两个 gig,一个 gig 主动式和一个 gig 用于备份同一个盒子,并再次基于分区副本缓存拓扑。

尺寸

此缓存的最后一个配置是缓存拓扑。 所以,我会选择驱逐政策。 对不起。 只有当您的缓存在该节点上已满时,驱逐才会发挥作用。 因此,如果您在这里被分配了一个大小的示例,并且如果您超过了分配的数量,那么您已经完成了一个 gig 空间。 接下来发生什么? 因此,您的缓存已满。 所以,有两种选择。 第一个选项是您是现有更新,现有数据将是可读的,但您不允许在缓存中添加更多数据,或者您可以打开驱逐。 默认情况下,驱逐是打开的。 我可以使用最近最少使用的驱逐。 还有其他两种算法,最低频率和优先级,当您的缓存变满并自动删除新项目时,它会自动删除 5% 的项目。 因此,您的缓存会继续运行以进行添加和更新,同时它可用于读取。

然后清理间隔是最后一个设置,它实际上做了一些后台清理工作,例如,过期的数据库依赖项被调用,并且执行了一些服务器级任务。 也允许自动启动此缓存,这意味着每次您的服务器重新启动甚至服务重新启动时,缓存都应该在启动时自动启动。 我选择完成,就是这样。

完

这已经完成了我的缓存,如果我在右窗格中单击它,就会有与此缓存相关的所有设置。 有一个问题让我快速解决。 有个问题,有没有一些帮助文档或者安装配置的 NCache 可用的软件? 是的当然。 所以,基本上,我们实际上已经完成了安装,这是我们介绍的安装选项,然后我们将进行命令行安装,我将在稍后阶段向您展示,但这是我们的常规安装. 所以,是的,我们网站上的所有内容都可用,谢谢您的提问。

添加客户端节点

现在接下来的事情是,您需要添加客户端节点,而客户端节点就是您运行应用程序的地方。 因此,我将快速选择两台客户端计算机的 IP 地址,并且我需要添加一台服务器。 所以,我刚刚有了这个客户端的想法,然后我被添加了,顺便说一下,让我们添加所有客户端并讨论添加客户端时会发生什么。 后台发生了什么? 所以,我其实有,IP是169。这是其中一台服务器,所以我需要去掉它,它没有作为客户端添加,然后第二个客户端是155,让我们这样做。 好的,在右侧窗格中有与此相关的所有设置。 因此,让我们进行一些更改,例如,让我们将端口设置为 7804,然后右键单击并选择应用配置,该配置将应用于正在运行的缓存集群上的配置。 所以,实际上并没有申请,所以我想我错过了线路配置,会发生什么? 顺便说一句,每当您进行更改时,都会有一个后端配置文件被更新,并且它也托管缓存的所有配置。 所以,如果我们去 config.ncconf,编辑它,你现在应该看到一个缓存,它有对象缓存,如果你查看它的端口,它现在是 7804。所以,这个 config.ncconf 托管所有缓存配置你已经在你的环境中配置并且有一个问题。

每个服务器都应该有相同的配置吗? 是的,它会自动更新。 它在服务器 1 上更新,也在服务器 2 上更新,每个服务器独立托管自己的配置。 它与管理所有配置的集中式服务器不同,每台服务器都是 100% 的点对点架构,并且有自己的一组配置。

因此,这就是托管服务器配置的地方。 我添加了客户端节点。 所以,如果我去 155,让我看看 4095 指向 155 的点。所以,这就是 IP,如果我去客户端节点,我将其添加为客户端。 因此,该客户端计算机现在具有连接到此缓存的配置,这就是您的应用程序在运行时使用的配置,您现在拥有对象缓存。 因此,147 和 167 是服务器的 IP。 因此,它将在此特定服务器上花费一些时间。

配置加密和压缩

我将快速设置更多配置,例如我打开加密让我们保持默认设置。 好的,所以可以使用三种 DES 加密,这是加密密钥,将用于加密,客户端也可以加密和解密数据。 因为,所有的设置都与这个缓存有关。 我需要右键单击并选择应用配置,就是这样。

应用配置

然后,我们进行压缩。 好的,有一个问题。 你的客户端和服务器可以是同一台机器吗? 绝对正确,所以 147 和 167 我都成为客户端机器,这是绝对正确的。

好的。 所以,现在为这个缓存设置了加密。 我也想设置压缩。 因此,我们向您展示这些是您可以选择的设置,然后使用脚本支持将相同的设置映射到生产环境中,应用配置就是这样,现在如果我再向您展示配置,现在真的很快,这应该有加密标签,这也应该在某处有压缩。 所以,请相信我,当我们开始制作时,我会告诉你,实际上很难在标签中找到压缩标签。 因此,完成后我将快速开始,现在此缓存的配置部分已完成。 所以,对象缓存有自动启动功能设置,它有压缩设置,它有安全设置,我所说的安全是指加密。 因此,您的数据是安全的,现在此缓存也具有客户端设置,并且已准备好供应用程序使用。 到目前为止有任何问题吗?

将很快执行更多的事情。 我将添加一个正在运行的节点,我将向此缓存添加一个新节点,如何添加一个正在运行的节点,这就是我的想法。 所以,我在这里有另一台服务器,只需复制它的 IP,然后在那里添加另一个服务器节点。 它尚未启动,但您可以在正在运行的缓存集群中启动它。 所以,看看实际安装、配置和添加新节点以及进行配置更改是多么容易。 有一些配置,您也可以随时更改,例如,我可以将缓存大小更改为 2048 并选择应用,实际上是热应用配置,我认为由于某种原因需要两次,我需要得到检查并应用于已经缓存但我现在只保留 1024。 因此,您可以在正在运行的缓存集群上应用更改,我们有三台服务器,所有配置客户端都已准备就绪,您可以快速测试此缓存是否完全连接。 是的。 所以,我关闭它并继续我们想到的下一个缓存,这就是 ASP.NET 会话的位置。

创建 ASP.NET 会话缓存

所以,我会快速创建会话缓存,因为我们的时间也不够用了,我希望我没有打错字保持一切不变,因为它本质上是相同的缓存,让我看看 IP 地址 147、167 . 正如我所提到的,您也可以一次添加所有服务器,这就是我将为这个特定的缓存做的事情。 我认为是 89 是的,让我们选择端口 7806 或在第一个 7804 之前自动建议两个端口,5 用于第一个缓存 706,7 将用于第二个缓存,再次调整大小,在这个缓存上唯一的区别是我会保留一切都一样,但我会关闭驱逐并让我解释为什么? 这适用于 ASP.NET 会话,现在会话是一种非常重要的数据,您需要会话的极高可靠性,即使您的缓存已满,您的现有用户也非常重要,您不希望在任何给定点丢失它们. 因此,驱逐实际上是通过从缓存中删除一些项目来从缓存中腾出空间。 因此,您不希望丢失现有会话以适应​​新会话。 因此,在这种情况下,您会提出足够大的缓存大小,因此您的缓存永远不会变满。 因此,请记住关闭驱逐并选择完成。

然后我可以添加客户端节点。 我有我的第一个客户端,它是 169,我可以添加第二个客户端,它是 155。我想在前 30 分钟内介绍这一点,因为我想更多地关注脚本编写方面。 因此,我将快速向您展示,因此已配置此缓存,您可以看到所有设置实际上不会为此缓存打开加密或压缩。 保持默认并继续我们的第三个缓存,即静态缓存。

创建静态缓存

因此,快速命名静态缓存,您可以根据需要创建尽可能多的缓存,分区副本,在这里,我将指定服务器的 147 很好,167 然后我们有 89。它会自动选择 7808 这很好。 所以,我要下一步,提供大小,为此我将保留驱逐。 让我们最近最少使用并设置自动停止功能。 现在请跟踪所有这些设置,自动启动设置,设置压缩,为第一个缓存设置加密,第二个缓存驱逐关闭,但除了加密压缩之外一切都相同,然后这个缓存也将具有客户端缓存和我将解释如何做到这一点。 将快速添加节点,客户端节点,我们已经完成的相同配置,169,然后另一个客户端节点是 155。

创建客户端缓存

这样,这个缓存的基本设置就完成了,但是我们需要添加一个客户端缓存。 客户端缓存是在您的应用程序箱上运行的本地缓存,但它将您通过网络的行程保存到远程缓存。 因此,如果您的数据读取多于写入操作,您希望数据在客户端缓存中可用,因此您将客户端缓存用于后续请求,而无需转到服务器缓存。 所以,我只是快速创建一个客户端缓存,命名它。

创建客户端缓存

并保持乐观模式,因为这更推荐。

乐观模式

选择 High (OutProc),此缓存的大小为 512,因为它是此数据的子集。 它也不需要自动启动此缓存并选择完成。

完成2

所以,我们的缓存已经配置好了。 现在我可以一个一个开始,然后接下来我会快速向你展示如何测试这个? 现在你一定已经注意到了,我花了相当长的时间,而且我非常关注每一个功能,每一个选项。 所以,我必须挑选每台服务器,然后完成所有配置。 因此,它使整个任务变得相当困难,而且它也容易出错,这是您在暂存环境中可以负担得起的东西,但在生产环境中却没有同样的影响力。 具体来说,当您推送新版本时,这只会最大限度地延长您的停机时间,因为您正忙于设置缓存,然后等待不同的服务器在这些缓存中可用。 当您在暂存环境中的生产环境中调整服务设置时,需要对其进行调整。 所以,这正是我们在生产环境中要避免的。

现在我们已经配置了暂存中的所有内容,将应用相同的设置、对象缓存、会话缓存和静态缓存。 此后的所有设置,都在 config.ncconf 中捕获。 因此,我们将使用 xml 可用的那些设置,并将这些设置自动映射到生产环境。 所以,这就是议程。 这是一种非常复杂的方法,它基于现有的功能 NCache. 所以,敬请期待。 我会告诉你这是如何工作的?

启动缓存

我实际上正在快速启动缓存 147、167。所以,它是一个接一个地启动缓存。 我认为我们很好。 我将快速向您展示对象缓存的统计信息。 所以,这一切看起来都很好。

统计

会话缓存统计现在我们打开另一个窗口。 所以,这看起来也不错。

统计数据2

静态缓存统计信息也是如此。

统计数据3

模拟压力并监控缓存统计信息

我只需要运行一个压力测试工具应用程序,它附带安装 NCache 并运行对象缓存。

cmd3

现在,您会看到来自该客户端的对象缓存的活动。 他们就是你,现在所有服务器都受到了打击。 我也将为此打开监视器集群,只是为了演示,然后,我将带您到另一个客户端,它就在这里,我希望我在下面添加它,是的,我做到了。 让我对此做一个列表缓存。 所以,我可以看到客户端缓存,实际上它是服务器之一。 所以,我需要转向客户端。 所以,让我们实际选择 169。您可以看到还有另一个可用于对象缓存的工具,它向您展示了一些监控功能 NCache 也是。 因此,169 是另一个客户端。 所以,4109 是端口,你去。 所以,我只是做了一个压力测试工具,也向你展示了客户端缓存。 您可以看到客户端缓存没有运行,所以让我们这样做。 好的,您必须手动执行此操作。 因此,每次您进行配置时,这正是我们在生产环境中要避免的。 所以,一旦开始。 好的,您正在许可生产,所以,这一点已经过期。 所以,应该检查一下,让我快速选择另一个客户。 请多多包涵。 所以,让我们选择4095,我们首先验证许可证。 是,很好。 让我们也运行 listcaches。 是的,很好。

所以,我认为我们可以使用它并为 staticcache 运行它,注意,它配置了一个客户端缓存,但我们正在使用静态缓存,我将向您展示客户端缓存计数器,同时,我将展示你的服务器柜台。 所以,很快,我认为微软需要为此提供搜索功能,因为您需要遍历所有缓存、所有实例。 所以,你去吧。 因此,客户端缓存正在被自动使用,这证明一切都配置得很好。 您可以在此处查看统计信息,因此看起来也不错,您可以监控集群。 所以,这些是监控工具,我们验证了我们所有的缓存在这一点上看起来都很好。 简而言之,它们具有客户端的连接性,并且所有配置都相同,然后它们工作得非常好,我们也可以通过在这里运行不同的工具来验证这一点。 所以,现在证实了这一点。 此时有什么问题吗? 我们已经介绍了很多细节,我很高兴我们做到了,我们通过手动方法配置所有内容,手动启动它们,然后手动测试它们。

安装和配置生产(脚本)

现在是重要的一点,我们有大约 20-25 分钟。 所以,我想我应该能够通过脚本涵盖生产中的安装和配置,为此,让我们快速进入我们的演示环境。 所以,这是同一种环境。 我们有超过 1、2、3 的产品。这将是两台服务器和两点或三台服务器两点,让我们使用它,然后我将使用远程服务器进行监控。 我实际上不会使用这些生产服务器、缓存服务器或客户端进行任何类型的监控。 我只是为此使用遥控盒。 所以,让我们先快速浏览一下安装脚本。 如果您一定注意到我们在这里有这个命令行安装选项,那么这是我们在这里和实际执行此操作之前的第一点。 所以,我在这里使用这个命令,对于服务器安装,这正是我正在使用的,如果你注意到,我将传递所有参数用户名、名字、姓氏、公司、安装目录和所有类型的不同特征。

好的。 有个问题。 如何停止和启动客户端缓存? 这正是我要向你展示的。 您可以使用管理器,也可以使用脚本方法,这是我已经安排好的,所以请继续关注。

修改安装脚本

所以,首先是安装 NCache 我们需要编写脚本。 这里的任务是,我们需要以一种无需人工干预的方式编写脚本。 它是自动化的,我们应该能够同时进行,并且还可以进行多服务远程安装。 所以,我在这里将这个命令用于服务器,然后在此处将这个命令用于 NCache 客户端,然后我登录到服务器,让我快速了解脚本。 这是我们的安装脚本,所以它已经安装在服务器上。 所以,它调用服务器,它填写所有参数,例如密钥、设置在哪里、安装目录、服务器版本和一些用户详细信息,然后它运行相同的命令,我在这里向你展示了,然后我们有一个客户端安装脚本,它获取所有参数,但它说有更多客户端作为添加,然后它在此处运行此命令,但这会安装 NCache 在给定的服务器上,而不是在多个服务器上,而不是在远程服务器上。

使用 PsExec 进行远程执行

因此,为此我们正在使用 PsExec,这是一个实用程序,它实际上允许您通过使用 PsExec 登录到远程运行 bat 文件或命令。 所以,这个脚本就在这里,它需要一些用户名和密码,这是一个虚拟密码。 它采用作为参数之一的服务器和客户端 bat,然后它采用所有服务器的列表和所有服务器的列表 remote clients。 所以,我刚刚创建了 107,108,117。 它有三个 NCache 服务器,然后我有两个 remote clients,我将用于安装和这个脚本,如果你看这里的话,它实际上是在这里使用 PsExec 安装 server bat install server bat。 服务器一,用户名,密码和服务器bat,然后它对服务器二也做同样的事情。 服务器二,用户名,密码,它一一迭代到所有服务器,然后使用 PsExec 远程调用服务器 bat,然后在客户端也一样,因为我们正在获取客户端参数以及调用 PsExec远程服务器安装那个,实际上应该是这样的,让我们在这里 remote client。蝙蝠。 让我在这里找到它。 是的,client_install.bat。 所以,这就是这个脚本正在做的事情。 所以,让我们快速运行它。 我们这里有可用的实际脚本,我向您展示了演示副本,因为有用户名和密码。 所以,我想隐藏这些。 好的,非常好。 所以,让我快速生成命令提示符,快速执行 dir。 所以,我们有一堆脚本。 因此,然后在脚本文件夹中,我对安装脚本目录感兴趣以向您展示内容。 我们已经安装 NCache 服务器,远程执行此操作的客户端,然后我们有客户端安装和服务器安装,它们在内部调用,然后我们还有 PsExec。

cmd4

查看日志文件

有一些日志文件也在维护中。 因此,在接近完成的时候,实际上将审查日志文件并从那里获取。 所以,这是实际安装的脚本 NCache 所有盒子上的服务器和客户端。 所以,它在 107 开始执行,它会移动到 108 然后 117 服务器安装将完成,然后我们安装 NCache 客户端在 101 和 102 上。所以,这需要一些时间,它在幕后工作,它们没有被更新。

启用 NCache

我将快速转到我们的下一个脚本,即激活脚本,为此让我再次回到演示。 我不想显示与用户相关的一些个人信息。 所以,我只是向您展示激活蝙蝠。 因此,这也以相同的方式工作,这是正常运行和激活的激活命令,您可以通过这种方式执行此操作,您将调用并激活工具,您将通过 GUI 库进行此许可证激活,这是一个很重要的一步,每次安装 NCache 你可以简单地激活它。

有个问题。 让我快点明白。 您提到客户端缓存用于读取密集型场景,如果是写入密集型场景,我应该排除客户端缓存吗? 是的,这是正确的假设,这正是我们为会话缓存中的对象所做的,因为可能存在比读取更多的写入或相同数量的写入和读取。 这就是我们没有开启客户端缓存的原因。

一种。 基于 GUI 的激活

所以,回到激活,因为我们还有 10 分钟。 所以,我想涵盖这个,我应该能够涵盖它。 激活购买的许可证密钥,选择下一步。

激活

然后您提供方法,然后通过详细信息选择下一步,然后激活。

激活2
激活3

湾。 命令行激活

所以,所有这一切都可以在这里使用这个命令编写脚本,这是我接下来将运行的脚本,这是脚本,它实际上导致了多个服务器的单个活动脚本,我再次给这个服务器 IP 和客户端 IP 并在每台服务器上单独使用 PsExec。 那么,让我们来看看这个。 它已经安装了 NCache 在 107 上,它显示了服务器,它正在运行 59 的试用版 90,然后是 108,它返回没有错误代码,运行良好,然后是 117 也完成了。 所以,另外两台服务器是 101 和 102。

cmd5

所以,我再次使用了这个时间,再给你看一个脚本,如果你记得我们在这里配置了一些缓存,我想复制这些配置并继续生产。 我不想自己一遍又一遍地进行配置,为此,我有这个 config.ncconf ,其中包含源中的所有配置。 所以,我只是以此为例。 对,例如,让我们选择我的分区缓存,它是安装时附带的缓存之一 NCache 并复制到这里。 您可以复制此配置部分,进入生产环境,然后您可以简单地回到这里并创建一个新的,这是昨天完成的。 所以,让我只是 samplecache,让我把它重命名为 xml。 因此,您需要在部署过程中执行此操作,即从 config.ncconf 创建现有登台配置的副本,将其放入示例 xml 中,可以是任何名称,缓存配置为其命名,然后复制一切。 您不必担心其他任何事情,然后有一个命令,现在实际上会向您显示创建缓存和一些命令,它们会起作用并且有一个命令可以安装 NCache 调用创建缓存,让我在这里向您展示,接下来我将使用它。

因此,理想情况下,它需要缓存的名称、它需要创建的服务器、缓存拓扑、端口、大小,一切都可以单独提供,但这不是议程。 今天,我们想使用 staging 配置映射到生产环境,一切顺利,发布已签署,我们需要完全相同的配置,我们只需要从 staging 环境中获取配置,为此我们有为了 '/T' 转变。 它采用 xml 路径并将该 xml 中的所有配置映射到我们的缓存中,接下来我将向您展示这是如何完成的。

让我们回到安装。 至此,我们在 102 上安装完成,101 让我们看看一些日志文件,看看是否一切正常。 所以,我们此时执行的命令在 107 完成,它的运行试验在 108 完成,运行试验 117 很好,101和102也是。没有报错,一切看起来都很好。 所以,我认为我们可以继续下一个脚本,我们将在其中简单地激活 NCache 使用我们拥有的其他脚本。

c. NCache 激活脚本

因此,我们将转到激活脚本并内联运行激活服务器。 因此,这将在所有服务器和客户端上一一调用激活脚本。 它会非常快,因为它使用 PsExec。 这样,第一台服务器就完成了。 好的。 所以,没关系,让我看看,如果我必须在这里指定一个 IP。 是的。 所以,就是这样,所以让我们提供 107,所以它实际上只在一个服务器上运行了这个命令,而我需要更多的服务器在这里可用。 所以,让我们再做一次,这就是这些脚本的美妙之处,你可以简单地更新 IPS,现在我们跳过了 108,它只使用 107。完成它的激活,然后它会转到 101 和 102。所以,所有的部署都将被激活,我在这里错过了一个客户,所以我想我做了 117 同样,我接下来会这样做,因为我可以更新 Ips。 所以,我也可以很快做到这一点,现在 117 已经完成了。 不幸的是,日志被覆盖了,但我们应该能够看到上次激活的日志。 所以,你可以看到这从 1 开始17 并且已成功激活。

因此,通过脚本完成了我们在所有盒子上的安装配置,如果您查看它,我们只需使用一个命令进行安装,一个命令用于激活,我们就可以远程完成所有操作。

配置缓存

现在回到缓存创建和配置权。 所以,现在我们已经复制了示例 XML,正确的示例缓存 XML2。 因此,它具有来自现有缓存的配置,如何使用这些配置并创建新缓存。 所以,让我们快速执行此操作,创建缓存,我已经提到它需要脚本中的所有参数,但是因为我们有缓存或者我们可以计算,所以我什至不想这样做。 我想用一个 '/T' 根据我们在展览中复制的现有缓存配置切换并创建缓存。

所以,我只使用createcache,给它democache123,我一直在玩democaches。 它需要一个服务器 IP 和 20.200.20.107。 它需要下一件事,它需要的是 '/T' 开关,它需要该 xml 文件的路径。 所以,就在这里。 因此,我将展示这一点,您可以简单地使用我们复制的 samplecache.xml 和 samplecache2.xml。 因此,现在它将创建您已经拥有的相同现有缓存的缓存配置。 所以,这就是我将要使用的,这是我将用于为不同缓存创建缓存的确切命令,如果我在这里向您展示,我们有缓存创建脚本,它具有所有对象缓存 xml ,它具有对象的所有这些配置,自动启动加密集和压缩已经设置,然后我们也有会话缓存 xml,它具有自动启动设置但驱逐关闭,然后我们有静态缓存,它有一个客户端缓存也是如此。 所以,我们已经有了这些正在使用的东西,我将使用创建缓存或 '/T' 也可以创建这些环境的相同缓存。

我要展示的下一个命令是 admin,如何将服务器节点添加到现有缓存? 让我们这样做,它采用缓存的名称,即 democache123,它需要一个已经创建缓存的现有服务器。 所以,我们刚刚在 107 上创建了缓存,它还需要一个新的服务器来接收。 所以,让我们提供 108,仅此而已。 所以,它会添加一个新的服务器,所以没有指定,我认为有一个空间。 因此,它向现有缓存 108 添加了 107。所以,这非常简单。

接下来是您可能想要添加客户端节点。 所以,添加客户端节点,你需要一个演示缓存,缓存的名称,你还需要一个服务器名称,缓存所在的位置,107 然后你需要客户端节点,这是我的盒子,它会添加现有缓存的客户端并且非常快,我也想向您展示实际的脚本。 如果我需要向您展示此缓存配置,我现在可以加载此缓存,您将看到与我们所做的完全相同的配置。 我们在服务器上有分区缓存 107、108,并添加了客户端 101,并且在我们的脚本中也使用了这种确切的方法,我们有 create_objectcache,它使用服务器调用 createcache '/T' 它需要一个配置路径,在此处指定。 所以,那里有一个特定的配置路径。 因此,提供了对象缓存配置,然后它使用其他服务器调用添加节点,它还使用该客户端节点,然后它还创建客户端缓存。

有一个脚本,它说有一个命令,它说 createclientcache,它需要一些参数,您指定服务器的名称,缓存名称和客户端名称,它会自动执行此操作,然后我们有一个脚本,它实际上调用了所有这些脚本一次,所以所有的缓存都被创建了。

开始缓存和测试

那么,让我们这样做,接下来,我将向您展示如何启动这些缓存和测试? 所以,我们不会像承诺的那样手动做任何事情。 所以,我需要去cachecreationscript,然后是我感兴趣的脚本,让我们先清屏,就是create_all_caches 还不错,就是这样。 它已经在 107 上完成了对象缓存配置,现在成功了,现在它正在向它添加服务器节点,即 108,这就是我提供的。 添加的第二台服务器是 117 然后我们有客户端节点添加了 101 和 102 配置在此完成。 然后它移动到会话缓存 107,它按计划将其创建为 108 117 接下来会添加。

因此,一切都已完成,并且有一个日志文件,该文件保存在该文件的后面。 因此,任何错误都会被报告。 所以,你可以通过这些,现在它有 101 和 102 作为客户端节点,然后是静态缓存,你也可以混合使用客户端缓存,这是我正在打印的命令。 所以,请留意,createcache、staticcacheserver 和这个 staticcache.xml。 现在添加了 108,117 添加,在这个上,它会添加 101 和 102,因为客户端也会在这些上创建客户端缓存,因为这就是安全配置。 因此,我为此使用了 createclientcache 命令行。 所以,它成功了,一切看起来都很好。

现在,我只需要确保这些缓存配置正确。 他们已经开始了,我也很乐意开始。 因此,还有另一组工具,它实际上启动了我的缓存,例如让我们暂时使用压力测试工具。 让我们这样做。 所以,startcache 实际上取了一个缓存的名称,democache123,我实际上会在本地服务器上启动它,你也可以给它 '/S' 切换它也可以在远程服务器上启动它。 所以,这正是这个脚本正在做的事情。 它是一个一个调用,第一个是检查缓存的状态,它在 107,108,117 上开始缓存。 它还启动了客户端缓存,并且有一个问题。 如何启动客户端缓存? 所以,我们还有4分钟。 所以,我要在这里快速运行这个脚本。

因此,首先,它列出了我的缓存状态 107,democache123 和 democacahes 正在运行,否则所有其他缓存都停止,静态对象会话和客户端缓存也停止。 因此,您可以看到静态缓存已停止,会话缓存已停止,对象缓存已停止。 从那以后的第一个,我们创建了 democache 和 democache123。 所以,这些是我的其他缓存,democaches 也是从这里开始的,所以你可以忽略这些。 客户端缓存也被停止。 因此,在生产中,您需要一些处理来启动缓存并能够测试它们,而这正是需要的。 接下来,它将一一启动所有缓存,您会看到 107 上的会话缓存已启动。 它会在 108 和 1 上做同样的事情17 也是。 到目前为止有任何问题吗? 如果有任何问题,请在问答选项卡中输入。

您会看到脚本将完成,剩下的唯一事情就是快速验证这些缓存实际上配置得很好,然后能够在远程机器上测试它们,为此我只使用这个服务器就在这儿。 因此,显然它需要一些时间来启动缓存。 所以,117 已启动,静态缓存现在开始,108然后117 而且您会注意到它也会启动客户端缓存,这是最重要的一点,因为您不想错过正确启动的客户端缓存,因此请确保从那里开始,然后就可以了。 它在 101 上启动客户端缓存,并在 102 上做同样的事情,事实上,它实际上会测试这个缓存,并将一些虚拟数据放入其中并给我们反馈。 所以,这就是脚本的美妙之处,然后我想强调一下。 所以,这是最后一点,我认为对象缓存是列表中的最后一个,之后所有缓存都已启动,让我快速向您展示创建的日志文件。

因此,这里有激活脚本、缓存创建以及日志。 所以,一切都在这里记录,成功状态,如果有错误,它会在这里打印。 因此,您可以稍后返回并检查这些内容。 所以,这已经完成,现在验证集群缓存,它告诉我我们有对象缓存,那里有六个项目,六台服务器,活动备份,会话缓存很好,静态缓存很好,我们在客户端 101 上,我们有客户端缓存的运行状态,在 102 上我们有一个运行状态,如果我这样做,它也会添加一些虚拟数据来测试这个缓存。

而且我认为现在是我可以用来在远程盒子中实际添加缓存并且我不再需要实际登录服务器的时候了,这意味着我们将盒子切换到团队并使用它我可以告诉你管理器中显示相同的配置,现在您将加载缓存,然后您的生产环境设置完成。 我再花五分钟,然后我想我们应该能够结束它。 新建项目并添加另一个盒子的集群缓存和IP。

创建集群
创建_cluster2

你去吧。 所以,我们有演示缓存,顺便说一下,这不是必需的。 所以,让我摆脱它,这是我为测试而创建的东西。 所以,它就在那里,但我会快速向您展示其他三个缓存,我认为我们将结束会议。 如果在任何方法中有任何问题,我已经介绍过了。 请随时在问答选项卡中输入内容。 我很乐意回答您的所有问题。 你去吧。 所以,我想让我尽快做到这一点。 所以,这是其中一台服务器的 IP。 因为,我可以进行远程管理,所以应该添加会话缓存,并且我想突出显示已完成的配置。 现在,让我们看一下对象缓存,设置了自动启动,设置了 50 KB 的压缩并启用了安全性,然后在此,我们有打开会话缓存的策略,设置了自动启动驱逐被关闭。 所以,这就是你所看到的,我们已经设置了自动启动并且我们有客户端缓存。 因此,一切都完好无损,您可以监控集群,并且可以从该特定服务器以远程方式监控这些缓存,并且一切都应该正常工作而不会出现问题。

请让我知道,如果此时有任何问题,因为我们已经超出了我们的正常分配时间。 所以,我想很快结束它,但如果有任何问题,请随时在问题答案选项卡中输入。 是的,该网络研讨会的录音将与脚本一起提供,如果需要这些脚本,请向我们发送请求,我们将免费共享这些脚本。 还有其他问题吗?

我希望这很简单,总结起来很方便,我们执行了登台环境和生产环境的部署和配置,我们有 GUI 基础方法和脚本方法。 在基于 GUI 的方法中,我们必须自己确保每个选项。 因此,我们手动完成了每个选项,但脚本,我们使用暂存环境中的现有配置并复制相同的设置, NCache 设置到生产环境中,一切正常。 所以,只要给我你的反馈,让我知道你觉得这个演示如何? 产品总体情况如何? 在编写脚本和与我们分享您的反馈方面的能力如何? 如果有任何问题,请告诉我们,我们可以从那里解决。 由于时间关系,我要结束这个。 因此,如果有任何问题,请发送电子邮件至 support@alachisoft.com.

接下来做什么?

 

联系我们

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