问题标签 [web-garden]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2498 浏览

iis - IIS6 可用于 32 位应用程序和 x64 操作系统(32Gb 内存)上的 Web Garden 的可用内存

我们在具有 32Gb 物理 RAM 的 64 位 Windows 2003 服务器上运行 IIS6。由于我们的 .NET 3.5 ASP.NET 应用程序中存在一些较旧的 32 位依赖项,我们目前被迫在 32 位 wow64 模式下运行我们的 IIS 工作进程,据我所知,这使我们可以访问 4Gb 的内存用于我们的工作进程。

我的问题是,如果我们使用 Web Garden 设置并配置 4 个工作进程,每个工作进程能否分别访问 4Gb 的内存,从而使我们能够访问大约 16Gb 的内存。还是我们被 ASP.NET 应用程序的 4Gb 限制所困扰?

0 投票
2 回答
459 浏览

asp.net - 在 Web Garden 中创建带有工具提示的图表

我需要在 ASP.NET 页面上显示折线图,其中每个数据点都有一个工具提示,显示其确切的 X 和 Y 值。特定数据集的图表可能只会被请求一次,因此缓存被禁用,如果需要再次显示图表将重新生成。

限制:

  1. 需要在网络花园环境中工作
  2. 无法使用会话
  3. 不能使用富媒体,例如 Flash 或 Silverlight。

我见过的方法使用图像映射来生成图表图像。由于限制,到目前为止,我所有的图表都是在内存中的处理程序中生成的,直接流回给用户,然后被处理掉。现在我需要添加工具提示,这需要 HTML 和图像。

我目前的计划是在页面上生成一次图表获取HTML,忽略生成的图片,重写图片标签的“src”指向第二个页面。第二个页面生成与第一个页面完全相同的图表,忽略 HTML 标记,并将图像流式传输回客户端。这一切似乎都很笨拙。

有没有更好的方法来做到这一点,而不涉及两次生成图表?

可用的图表控件:

  1. 开发快递 8.2
  2. 同步融合 6.2
  3. ?? - 推荐一些东西
0 投票
3 回答
2220 浏览

asp.net - IIS Web-Garden 强制进程初始化是否可行?

我们有一个在 IIS Web-Garden 中运行的 ASP.Net Web 应用程序——它被配置为最多分配四个进程。在我们的 Web 应用程序中,第一个访问该站点的用户会导致所有缓存项目的加载。由于我们在 IIS Web-Garden 中运行,因此最终需要多达四个首次用户来为四个 Web-Garden 进程中的每一个建立缓存。此缓存构建需要 30-40 秒,我们已尝试使其更快,但不太可能再改进。

这是不可接受的,我们的任务是始终让每个人都能快速浏览网站(无需等待缓存初始化)。我想采用一种抓取网站来预热缓存的解决方案。问题在于 Web-Garden 功能似乎是一个黑盒子——您无法控制 IIS 是否/何时决定在下一个 HTTP 请求命中时加载该第二、第三或第四个进程。

对我来说,这似乎是一个常见问题,但寻找解决方案却收效甚微。我的问题是,有没有办法通过 HTTP 标头或其他构造来给 IIS 一个提示,您希望它加载或至少路由到进程 2、3、4 等?

0 投票
3 回答
2844 浏览

asp.net - ASP.Net 使用状态服务器和缓存增加 MaxProcesses (web garden)

我在 IIS7 上有一个 ASP.Net 网站,我计划增加 MaxProcesses 以匹配服务器上的核心数量(4 个核心,64 位 Windows Server 2008)。

根据我的阅读,如果我增加 MaxProcesses 来创建一个网络花园,我必须设置一个进程外状态服务器,所以我打算使用 ASPState 服务在工作进程之间共享会话。

但是有一点我不清楚,缓存是否也共享?还是我必须为缓存设置一个新的自定义提供程序?

0 投票
3 回答
630 浏览

asp.net - Asp.net 2.0 按钮单击方法在网络花园中工作不一致

我们有一个在 IIS7 上运行的 asp.net 2.0 Web 应用程序。它使用网络花园和 asp.net 状态服务器。

在页面上,有许多用户控件。在其中一个用户控件上,我们添加了对 button_click 事件的日志记录,该事件在该方法运行时会在日志中写入一行。当我们单击按钮时,它只会定期显示日志条目——表明单击按钮时事件并不总是触发。我们添加了日志记录,因为我们怀疑单击按钮时按钮单击方法并不总是在运行。我们看到的证据似乎证实了我们的怀疑。

当我们移除网络花园并将站点放回单个应用程序池时,应用程序恢复正常 - 每次都会触发按钮事件。当我们在本地开发者机器上运行应用程序时,它也能正常工作。

有没有其他人看到过这样的行为?对于我们可以采取哪些措施来缩小问题范围,有什么建议吗?

编辑:这是所要求的事件来源:

编辑#2:澄清-此设置未使用多个服务器,并且不在负载平衡器下。我们在单个服务器上使用多个 AppPool。

0 投票
2 回答
5696 浏览

iis - IIS、多个 CPU 内核、应用程序池和工作进程——单个站点的最佳配置?

我们使用 Kentico CMS,我与他们交换了有关网络花园部署的电子邮件。

我们在具有 8 个 cpu 内核的服务器上运行一个站点。根据 Kentico 的建议,我们没有更改默认的应用程序池网络花园设置,即它设置为最大工作进程数 1。

我们的经验是,该站点仅使用其中一个 cpu 内核 - 其他内核处于空闲状态。当我向他们发送电子邮件时,他们的回应是 OS/IIS 将处理此问题并根据需要使用其他内核,即使应用程序池只有一个工作进程。

现在,我非常尊重 Kentico 的伙计们,但这对我来说似乎不合适?

当然,如果我们想使用所有内核,我们需要允许八个工作进程(并在 SQL 服务器中实现会话状态存储)?

非常感谢

托尼

0 投票
1 回答
1385 浏览

openid - DotNetOpenAuth RelayParty 在负载平衡集群上不起作用

我们正在尝试将使用 DotNetOpenAuth OpenID 版本 3.4.1 的 ASP.NET MVC 应用程序从单个服务器 Web 园移动到硬件负载平衡器后面的物理服务器集群。

我们的旧设置(OpenID RP 工作):

Browser => SHTTP => Server => WebGarden => Nonce/Session Store

我们的新设置(OpenID RP 不工作):

Browser => SHTTP => Load Balancer => HTTP => Cluster Node => WebGarden => Nonce/Session Store DB

当我们使用新设置进行身份验证时,我们被正确地重定向到 OpenID 提供程序,但在经过身份验证后,我们被重定向回我们的集群(中继方)并得到以下异常:

例外

我们已将涉及的机器添加到受信任的机器列表中,并关闭需要 ssl,但这没有什么区别。我们甚至尝试移除 nonce 存储并使用无状态连接,但这也不起作用。我们总是遇到同样的错误。

我们怀疑这个问题是由于集群节点在连接到 OpenID 提供程序时与负载均衡器的 IP 不同,但我们不确定。

有任何想法吗?


感谢您的回复,让我提供更多信息:

我们内部有 OP 和 RP。我们有多个组织并不真正相互信任,因此我们将提供者分发给每个组织,然后使用属性交换传递用户数据(电子邮件地址、个人编号等),而无需访问彼此直接存储数据(通常是 LDAP)。

令我们困惑的是为什么设置在单台计算机上运行良好(例如,当我们直接连接到集群节点时)而不是当我们通过硬件负载平衡器连接到集群时。

我们已经在两端尝试了各种不同的配置,但到目前为止还没有运气。

0 投票
1 回答
79 浏览

deployment - 部署新的网络场时我应该考虑什么?

多年来,我的 Web 应用程序在生产环境中一直运行良好,只有一个应用程序服务器和一个 Web 服务器。现在我们正在迁移到具有 2 个 App 和 3 个 Web 服务器的多服务器环境。我有足够的时间在上线之前进行更改。

作为开发人员,我应该从编码、部署和架构/生态系统管理的角度考虑哪些因素?

已经在我的名单上:

  • 消除服务器之间的紧耦合
  • 适用文件(即可下载文件)存储在 SQL 中的 IMAGE 字段中,而不是应用服务器上的文件
  • 部署:一次将节点从场中取出
0 投票
3 回答
13270 浏览

asp.net - IIS Web Garden 优点/缺点

什么时候需要 IIS Web Garden 功能。什么是优点和缺点?

0 投票
1 回答
7727 浏览

asp.net - IIS Web Garden 中的单例对象

我在 asp.net 应用程序中有很多 Singleton 实现,并且出于某些性能原因想将我的应用程序移动到 IIS Web Garden 环境。

CMIIW,迁移到具有n 个工作进程的 IIS Web Garden,每个工作进程中将创建一个单例对象,这使得它不再是单个对象,因为n > 1。

我可以在 IIS Web Garden 中再次制作所有这些单例对象吗?