下载速度低

时间:2017-08-17 23:07:59

标签: node.js ubuntu download bandwidth-throttling high-traffic

嘿伙计我有一个大问题,我需要一些建议。

我有一个专用服务器,其中包含以下信息:

  • Atom C2750 8 / 8t 2,4 / 2,6 GHz
  • 16 GB RAM DDR3 1600MHz
  • 12TB
  • 500Mbps带宽
  • 列表项
  • 1Gbps网络突发

我正在运行一个使用Nodejs的网站,用户可以下载大量文件。

该网站发展迅速,我每天有10K用户,平均有1K并发用户(下载)。

问题是服务器在客户端的下载速度越来越低,所以我为下载添加了一个限制到800Kb / s,它确实有所帮助,但问题仍然是一样的我该怎么办? ?

由于

1 个答案:

答案 0 :(得分:0)

你必须弄清楚你最严重的瓶颈在哪里。您将不得不设计一些测量和测试,并可能进行一些计算以帮助确定瓶颈所在。

以下是一些可能性:

  1. 服务器以太网连接到Internet的服务器总带宽。如果您有1K用户尝试下载某些内容且总带宽为500Mbps,那么您只会获得每位用户0.5Mbps或500Kbps。此时,您需要缩小数据,减少用户数量或增加服务器带宽。

  2. 服务器CPU。这应该很容易检测到。检查CPU利用率。如果你的node.js进程使用100%的CPU,那么你是CPU绑定的,你需要一台更快的计算机,或者如果你有一个多CPU处理器,你可以将你的服务器集群在同一台主机上以获得更多的CPU工作为了你。如果您没有多CPU进程,那么可以跨多个服务器获取一个或多个集群(这个想法是您需要更多的CPU)。虽然我不知道你是否受CPU限制(我怀疑你更有可能限制带宽),但这款Atom C2750有8个内核,因此它可以很好地进行集群,但是与其他Intel CPU相比,每个内核并不是特别快。 / p>

  3. 网卡。您的网卡可能会阻挡您并且不会使您的带宽完全饱和。例如,如果您的服务器只有100Mbps的网络连接,那么这就是您可以使用的最大带宽。如果您认为应该与服务器建立1Gbps的网络连接,那么您需要确保实际上获得了这么快的链接。

  4. 仅供参考,如果您有很多用户在较长时间内下载内容,1Gbps网络连线可能对您没什么帮助。这对于突然和短暂的活动高峰非常有用,而不是持续的高负荷。