AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 3123
In Process
Darren Kopp
Darren Kopp
Asked: 2009-05-03 07:18:52 +0800 CST2009-05-03 07:18:52 +0800 CST 2009-05-03 07:18:52 +0800 CST

在 IIS7 中创建跨多个服务器共享的多个站点的最佳方法是什么

  • 772

在我公司,我们的主要产品是基于网络的,我们的每个客户都有自己的网站。每个客户都去 customer.domain.com 访问他们的网站。目前,在 IIS 中,每个客户都有自己的网站设置,并为该网站中的所有应用程序提供 1 个应用程序池。我们的许多客户都使用相同的代码库,但有些客户使用的是更新版本(beta 测试人员)。

我们还使用负载平衡,以便每个请求都可以访问任何 X 服务器。

这是最理想的设置吗?主要问题之一是我们在服务器上只有大约 8 GB 的内存,还有大约 200 个客户端,所以对于每个应用程序池,我们必须将它可以使用的内存量限制在 300MB 这样我们就不会内存不足,但这也会导致应用程序池频繁回收。

我们希望向外扩展,而不是向上扩展,但是随着我们添加越来越多的客户端,我们将拥有越来越少的可用 RAM,或者我们将不得不开始向服务器添加大量 RAM。

如果您有类似的设置,您是如何解决问题的?

iis asp.net iis-7
  • 3 3 个回答
  • 1458 Views

3 个回答

  • Voted
  1. mrdenny
    2009-05-03T13:15:21+08:002009-05-03T13:15:21+08:00

    我们为不同的客户在不同的域名下的同一个盒子上设置了几个不同的站点。我们从一个文件夹和一个应用程序池运行它们,因为它们都共享一个代码库。

    对于想要查看 beta 代码的客户,我们还有一个登台站点设置,他们可以登录并查看(如果已在该站点上为他们设置了帐户),该站点具有一组不同的 FQDN。所以我们最终得到了两个网站和两个应用程序池。

    基本上,您需要做的就是设置 IIS 来监听多个 IP,并根据需要为每个 IP 设置证书。这样数据只缓存一次。

    • 3
  2. Dominic D
    2009-06-03T23:23:51+08:002009-06-03T23:23:51+08:00

    这将取决于您的环境,特别是我们正在谈论的服务器数量、服务器是否为 64 位以及应用程序的稳定性。

    我看到三个选项:

    1. 继续在隔离的应用程序池中运行所有内容,平衡所有服务器,并添加更多 RAM。
      优点:坚固。
      缺点:成本(但现在 ram 变得相当便宜)
    2. 整合到更少的应用程序池中,在所有服务器之间保持平衡,而不是增加额外的 RAM。优点:无需额外费用。
      缺点:如果应用程序存在稳定性问题,将 200 个客户端整合到 2 或 3 个应用程序池中可能会导致灾难。如果您的负载均衡器可以正确检测应用程序的可用性并将状态更改应用于所有 URL,则可以减轻此风险。此外,如果这些机器是 32 位的,在单个应用程序池中运行 100 多个客户端可能会使您危险地接近进程内存限制。
    3. 继续在隔离的应用程序池中运行所有内容,将您的服务器场拆分为子场,即不是让 6 个服务器为 200 个客户端提供服务,而是有 2 组 3 个服务器,每组为 100 个客户端提供服务,以减少内存负载,而不是添加额外的 RAM。
      优点:强大,无需额外费用(只要您有足够的服务器!)。
      缺点:如果您没有至少 4 台服务器,这将是一个昂贵/没有吸引力的选择。此外,您还引入了新问题,例如必须跟踪哪些特定客户端的使用率很高,并在多个场中平衡这些客户端。
    • 2
  3. Bob The Janitor
    2009-06-26T09:21:03+08:002009-06-26T09:21:03+08:00

    最简单的解决方案是首先将您的 Beta 站点移动到自己的一组服务器上,然后看看如何将您的当前用户分成组。

    客户 1、2、3、4 都在服务器 a、b、c 上 客户 5、6、7、8 都在服务器 d、e、f 上

    依此类推,这样你就有了冗余并且你的客户是负载平衡的

    如果您想使用vmware esx之类的工具更详细地了解可视化,因此您在一个集群中有 3 个服务器,然后根据需要构建尽可能多的 Web 服务器,您甚至可以为每个服务器创建一个专用的虚拟服务器客户,但这更像是一种向上扩展的解决方案

    • 1

相关问题

  • IIS 6.0 (Windows Server 2003) 上的 HTTP 压缩

  • 这个 Web 服务器可以处理多少个站点?[复制]

  • 如何在 IIS 中发送响应标头?

  • IIS 优化

  • IIS 6.0 (Windows Server 2003) 备份的最佳实践?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve