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 / 问题 / 538609
Accepted
artaxerxe
artaxerxe
Asked: 2013-09-13 23:41:10 +0800 CST2013-09-13 23:41:10 +0800 CST 2013-09-13 23:41:10 +0800 CST

100个用户的服务器配置[重复]

  • 772
这个问题在这里已经有了答案:
你能帮我做容量规划吗? (3 个回答)
8年前关闭。

我有一个与以下场景(真实情况)近似的服务器有关的问题:

我有一个服务器,其中将存储一些可以通过在该服务器上运行的 Web 应用程序访问的视频。将有大约 100 个(并发)用户使用它(通常通过平板电脑或手机,但也包括 PC)。

你能给我一些关于为这个服务器构建硬件配置的想法吗?在其上运行的操作系统将是 Linux。

提前致谢。


编辑我:

我使用的 Web 服务器是 Apache HTTP,但它很可能会充当服务器的代理Java(当然安装在这台机器上)。

将在此服务器上运行的其他应用程序将是:

  • 认证申请
  • 管理申请。

该服务器也将持续运行 (24/7)。

configuration
  • 3 3 个回答
  • 8518 Views

3 个回答

  • Voted
  1. Abhishek Anand Amralkar
    2013-09-13T23:47:24+08:002013-09-13T23:47:24+08:00

    很难根据并发用户的数量提供准确的服务器配置,因为它也取决于您的代码和数据库优化。基本上您需要为您的应用程序和服务器执行基准测试,因此有很多开源工具可以这样做

    您可以进行完整基准测试以及堆栈基准测试

    像这样的工具

    1. 抗体
    2. http_load
    3. 系统台
    4. Unix基准

    等可用。

    • 2
  2. Best Answer
    Jonathan Barber
    2013-09-14T00:53:13+08:002013-09-14T00:53:13+08:00

    从您的描述看来,服务器的主要用例是将视频流式传输到 100 个客户端。

    鉴于此,服务器的两个最重要的子系统将是:

    1. 网络连接
    2. 存储系统

    要根据性能调整这些大小,您需要知道需要多少带宽 - 这取决于您将提供的视频的质量。假设视频为 1MB/s,对于 100 个用户,网络和存储系统都必须能够提供 100MB/s(网络为 800Mb/s)的数据。

    如果网络带宽连接大于单个链路的处理能力并且您无法提高链路速度(即从 1GbE 迁移到 10GbE/40GbE),那么您可以添加更多链路并在第 2 层聚合它们或使用多个IP 地址(每个链接一个)并通过应用程序分配连接。此外,您必须确保从服务器到客户端的数据路径能够处理容量,如果网络中的其他地方出现瓶颈,服务器能够提供 10Gbps 是没有意义的!

    对于存储系统,您需要确保它能够同时处理带宽和 IOPS 数(每秒 IO 数)来提供数据。根据我们上面的计算,您将需要 100MB/s 的流式读取,但由于您有 100 个用户,存储系统必须能够处理至少 100 IOPS。如果您希望用户浏览视频,您将需要更多来保持性能。虽然硬盘驱动器在没有争用时可以提供良好的流媒体性能,但当并发访问数量增加时,我会考虑使用 SSD。

    除了这些基本性能特征之外,您还需要考虑网络连接和存储系统的可靠性。如果链路故障或硬盘驱动器故障会发生什么?如果您想继续提供服务,您必须拥有多个链路和弹性存储配置(通过 RAID 或应用程序/文件系统级别的数据复制)。

    存储系统的 RAM 将帮助您缓存视频并减轻存储系统的负载,因此如果您希望许多人观看相同的视频,那么更多的 RAM 通常会有所帮助。但是如果工作集的大小(通常访问的数据)大于系统上的 RAM 量,如果您没有看到很大的改进,请不要感到惊讶。

    由于系统的大部分将通过 IO 传输数据,因此您可能不需要太多的 CPU 能力,因此任何现代多核 CPU 都应该足够了。尽管您应该注意,如果您在 NUMA 架构中有多个 CPU,则不要使 CPU 互连过载。

    一旦你有了硬件,你应该对它进行基准测试,以确保它提供了明智的性能。对于存储系统,我推荐使用fio工具,它允许您专门测试场景,例如具有 100 个并发读取器的流式读取。

    鉴于我上面所说的,您应该与您的首选供应商交谈,看看他们推荐什么配置。如果您将您的需求作为 RFP 的一部分(特别是如果您包含硬性需求,例如交付特定 IO 配置文件的能力),那么它可以更容易地解决以后的任何性能故障。

    在设计这些系统时,请尝试考虑数据如何在系统中移动,以及限制在哪里。

    最后,确保您设计的系统容量过剩,这样您就可以处理流量的增长和峰值。

    • 2
  3. that guy from over there
    2013-09-14T00:02:09+08:002013-09-14T00:02:09+08:00

    你能给我一些关于为这个服务器构建硬件配置的想法吗?在其上运行的操作系统将是 Linux。

    是的。使用双倍尺寸。</irony>

    不,从这个阶段不可能。您可以使用 4core-4GB ram 机器或 mot,这实际上取决于您将使用它做什么。如果您只是从文件系统提供下载服务,那么小型机器就可以了,但是当涉及到 java et al ... 基准!


    要更具体,您自己也应该更具体。

    • 什么网络服务器?
    • 服务器只能下载吗?
    • 其他基于 Web 的软件,如 cms 等?
    • 完整的 LAMP 堆栈?
    • 24/7 需要吗?

    如果主要目的是提供视频并充当您的 java 应用程序的反向代理,我建议使用 nginx。它比 apache 更轻量级,可以处理更多的并发连接,同时需要更少的系统资源。

    对于您的下载部分,尽量避免使用网络应用程序并直接从您的反向代理提供您的文件;这将降低整体所需的性能。

    请注意,nginx 有一些很好的模块可以充当视频的静态服务器


    关于 24/7:您是否需要确保24/7 全天候运营?那么你需要一个故障转移设置。

    • 1

相关问题

  • 小型企业的服务器虚拟化/RAID 配置

  • httpd.conf 用于不区分大小写的文件服务

  • Windows Server 2003 DNS 添加的 CNAME 不起作用

  • 我应该使用什么策略在 linux 上安装 smtp 服务器?用于多线程服务

  • 为什么我的站点在配置为直通身份验证时使用 IUSR 帐户?

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve