【问题标题】:How many visitors can my dedicated server handle at once?我的专用服务器一次可以处理多少访客?
【发布时间】:2015-09-03 22:33:35
【问题描述】:

我有一个具有这些规格的专用服务器:

  • 处理器:Intel Core i5 3.40GHz (3570)
  • 内存:2 x 4GB DDR3
  • 硬盘:2 x 1TB (Raid-1)
  • 操作系统:Microsoft Windows Server 2008 R2 Web 64bit Edition
  • 30Mbps 带宽

服务器端系统将使用 Laravel 5.1。

鉴于域已被 Cloudflare 等 CDN 提升,服务器一次可以处理多少访问者,主要向移动应用提供 json 内容?当然还有很多其他因素会影响它,但是我只是想获得一个估计的数字,以便对服务器一次可以处理多少访问者有一个概念和想法,然后他们才能感觉到服务器或服务器的响应速度很慢超载了。

【问题讨论】:

  • 对其进行基准测试并查看。
  • 您无法获得准确的估计,您必须对其进行基准测试。有很多因素在这里发挥作用,而您的应用的工作方式在这里至关重要。
  • @JonStirling 请建议如何?有什么工具可以用吗?
  • @user1995781 这可能是一个最好留给其他 stackexchange 站点之一的问题,例如 ServerFault imo。
  • @user1995781 如果准确性不是问题。根据所提供的信息,您将能够每秒处理至少 1 个请求。除此之外,您还需要进行自己的测试。

标签: php laravel hosting cdn bandwidth


【解决方案1】:

我只是想获得一个估计的数字,以便在他们感觉到服务器响应缓慢或服务器过载之前,服务器可以同时处理多少访问者。

这实际上取决于您的代码/应用程序,您需要针对您的特定应用程序、所提供的 JSON 的大小、每个请求所需的处理等进行计算。如果您不确定代码如何可行,您可以使用分析工具或对粗略数字进行快速模拟。

在最可能出现瓶颈的情况下:

  • CPU:找出服务器在空闲时会消耗多少 CPU 时间以及何时进行 100 或 1000 次调用(粗略估计)。您可以在 Chrome 控制台中使用 javascript 相当容易地模拟调用。推断以查看 CPU 何时会达到 60% 和 90% 的利用率。

  • 带宽:在执行上述操作时,检查网络接口上的入站和出站总流量。

  • 内存:如果系统内存不足,那么它将开始在 HD 上进行交换,这会很慢。在上述检查之前、峰值和之后检查 RAM 使用情况。

作为替补

您还可以使用诸如 loadimpact.com 之类的性能分析服务,它可以让您更具体地衡量“慢”级别(即延迟)或用户在各种负载下会遇到的错误类型。这要求您已经启动并运行了一些东西。

=============

在实践中,我建议使用 Apigee、AWS 或 Azure 等可扩展的硬件解决方案,这样您就可以使用一台后端服务器启动和启动您的应用程序,然后在需要时轻松扩展后端。

【讨论】:

  • 非常感谢您的回答。那么,带宽不是主要问题吗? 30Mbps的带宽,如果每个用户都以2G的速度浏览,那么它只能同时服务70个用户?
  • 不,如果您每秒有 30 兆比特并且您的内容是 4 KB,那么您将能够每秒处理 937.5 个请求。如果您传输的内容小于该带宽,则某人的带宽是 64k 或 4G 无关紧要。
  • 问题是关于服务器的瓶颈而不是用户的瓶颈。如果用户使用的是慢速 2G 手机,那么他们端的慢不是因为服务器的限制,而是因为用户的连接。更改服务器硬件不会对该用户产生任何影响。
  • 如果你有一条 30Mbps 的线路,但你正在提供大型 JSON(即每个 1MB - 我见过人们这样做,而不是最聪明的做法),那么你可能需要注意带宽也是。
  • @Mjh 感谢您的评论。现在我感觉我的服务器只能同时为不到一千人提供服务。鉴于平均内容应该超过 4KB,而且它还会包含一些图像(因为并非所有内容都会被 CDN 缓存)。此外,一些执行逻辑,可能低于千人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
  • 2012-03-18
  • 2011-06-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2010-12-07
相关资源
最近更新 更多