标签: bandwidth

在多个静态文件服务器之间进行负载平衡以实现带宽分配的最佳方法?

首先,我将向您说明我的情况。我正在运行一个相当受欢迎的网站作为一个副项目,所以我不能真正投入大量资金。我目前只有一台带有 HAProxy 的服务器在前端向 Apache 发送正常请求,向 Lighttpd 发送所有静态文件请求。这非常有效,因为所有 php 和 post 请求都由 Apache 处理,而所有图像都发送到更快的 Lighttpd(该站点主要是图像,所以这非常重要)。不必为提供图像而设置子域会很好,因为短 URL 也非常重要,因此我使用 HAProxy 的原因。

我找到了一个托管服务提供商,它提供了我一直在使用的非常便宜的未计量带宽,当我开始推出 100mbs 网卡可以处理的带宽时,问题就出现了,因此需要第二台服务器。

我已经考虑了很多我的选择,所以我会向你解释每一个。希望您能提供一些见解,了解哪个对我来说是最好的选择,或者也许还有另一种我还没有想到的选择。

要求:

  • 甚至带宽分配也是必须的。我有一个非常强大的服务器,所以不能选择扩展。我需要向外扩展以获得更多带宽。

  • 短网址。我真的不想设置子域,比如 img.example.com,来提供我的图像。example.com/image.jpg 是现在的样子,我真的希望它留下来。但如果没有其他办法,那我就明白了。

  • 处理请求的最近服务器会非常好,但不是必须的。要记住的事情。

HAProxy 负载均衡:

  • 这真的很容易做到,因为我已经在使用 HAProxy 了。但是,我认为分配带宽时会出现问题。我在这方面可能是错的,但是 HAProxy 不会将请求发送到服务器处理它的服务器,然后通过 HAProxy 将其发送回客户端吗?因此,所有流量都通过负载平衡器返回,导致它使用的带宽与所有服务器的总和一样多。

DNS 循环:

  • 这可能是我最好的选择。只需在多台服务器上复制网站,然后做我现在正在做的事情。缺点是如果一台服务器出现故障,客户端仍会被发送到它。我还需要在多台服务器上复制站点。我有点希望我可以有一个主服务器来处理除静态文件之外的所有内容,然后有几个静态文件服务器。我还读到这是一种“穷人的负载平衡”,如果有一些更复杂的东西会很好。

直接服务器返回:

  • 这看起来很复杂,但可能是一个不错的选择。我还能将某些 URL 发送到某些服务器吗?就像现在的 HAProxy 一样,每个以正确文件扩展名结尾的 URL 都被发送到 Lighttpd,而其他扩展名则被发送到 Apache。所以我需要类似的东西。就像,所有 php 请求都由运行平衡软件的同一台服务器处理,而所有 jpg 请求都发送到多个服务器。

理想情况下,如果 HAProxy 支持 Direct Server Return,那么我的问题就可以解决了。我也不想使用 CDN,因为它们真的很贵,毕竟这只是一个副项目。

你明白我的问题吗?如果我没有解释正确或者您需要更多信息,请告诉我。

bandwidth cluster load-balancing haproxy

12
推荐指数
1
解决办法
1万
查看次数

关于内部托管服务器的意见

我在这里阅读了六个关于内部托管的利弊的帖子,但我们的情况与大多数情况略有不同,所以我想我只是提出一个新问题。

简而言之,我们是美国东北部(不是波士顿或纽约,有点在山上)的一家小型软件公司,拥有现有的产品线。出于与未来开发工作相关的各种原因,我们需要以一种或另一种方式在内部安装服务器——现在,我们有几个 1U Sun(非常好的 X2100,顺便说一句,像岩石一样支撑起来)——高度架。

多年来,我们一直在其他地方托管我们的网站,但现在我们有一堆内部硬件不会去任何地方,我认为只做我们所有面向公众的托管可能是值得的在家里也是如此。我的推理,简而言之:

  • 无论如何,硬件本质上是沉没成本
  • 我们已经在做任何必要的管理工作(不过,根据我的经验,您需要为真正的托管主机付费,而不是仅仅访问一个盒子,这似乎是“托管”在商业)
  • 我们的问题将是我们自己的问题,或者与任何托管情况相比更是如此(即我经历了更多的停机时间,因为一些傻瓜踢了路由器或托管服务提供商的任何东西,而不是我由于随机管理级别问题而遇到的问题)
  • 我们推送了很多大文件,而不必等待上传到我们的托管服务器听起来很有吸引力

明显的缺点包括:

  • 力量。我们有合适的 UPS,但没有冗余。
  • 带宽。现在我们有 16d/2u 通过 Comcast。如果我们将主站点移过来,我们至少需要将其翻倍,这可能需要连接 2 条以上的电缆线。
  • 空调。我不认为这是一个真正的问题——我不希望我们在这里拥有超过 10 台服务器(如果我们变得更大,那么这个决定的经济性会发生很大变化)。

想法?

谢谢!


更新:在犹豫了一些之后,我们决定继续在异地托管。巧合的是,今天我们街区停电了,这在心理上有点倾斜(几乎不是一个严格的过程,但浪费大约 3 个小时就足以让我意识到宇宙正试图告诉我一些事情;-)。

不确定我们将来会使用哪个供应商,但我很欣赏机架空间云作为 ec2 等的替代品的提示。

hosting bandwidth web-hosting

12
推荐指数
1
解决办法
917
查看次数

限速传入流量

我一直不明白是否可以对传入流量进行速率限制。我意识到没有直接的方法来控制远程服务器的发送数据包的速率(除非你控制两个端点),但考虑到这个限制,下载管理器究竟是如何让我成功设置下载速度限制的?

TCP 慢启动和限速传入流量之间是否存在任何联系?是否可以使用slow-start描述的方法人为限制发送方发送数据包的速率?

作为一个额外的考虑,应该注意的是,我想在其上实现流量整形的服务器本身建立 PPPoE 连接,并充当网络其余部分的路由器。


更新:到目前为止的答案已经对我提出的问题进行了公平的概述,但我仍然不知道下载管理器如何能够限制传入流量,更具体地说,是否可以在Linux 网关盒。

networking linux bandwidth traffic-shaping

12
推荐指数
1
解决办法
1万
查看次数

如果我使用公共主机名将数据发送到我的计算机,它是否真的通过 Internet 传输?

澄清:

我正在使用我的公共主机名连接到 MySQL 数据库。主机名解析为我服务器的外部 IP(例如 1.2.3.4)。我通过 MySQL 连接发送/接收的数据是否通过 Internet 传输?使用 localhost 会更快吗?它会占用我服务器的带宽吗?

mysql networking linux bandwidth

12
推荐指数
3
解决办法
1937
查看次数

每个端口或每个设备的网络交换机数据传输速度是否有限制?

当网络交换机报告速度为 100 Mbit 或 1 Gbit 时,它们是指每个以太网端口的最大速度还是所有端口上的交换机的物理限制?例如,假设网络上的两个用户同时传输大文件,他们会为 100 Mbit 或 1 Gbit 相互竞争,还是每个人都达到这些最大传输速率?

networking bandwidth switch

12
推荐指数
1
解决办法
9608
查看次数

CentOS 6 路由器/防火墙似乎在限制吞吐量

TL; 博士

在最近的更新和安全“强化”之后,位于 120Mbps 电缆调制解调器连接后面的 CentOS6 NAT 路由器/防火墙似乎将吞吐量限制在 30Mbps。

在更新和强化之前,我获得了 90Mbps。

我检查了 CPU 和网络使用情况,这些似乎都不是限制因素。 tc没有显示任何流量整形正在进行,我不知道如何进一步解决这个问题。

细节

我有一个 CentOS 6 系统作为 NAT 路由器/防火墙在 Comcast 电缆调制解调器后面运行,它也作为 NAT 路由器运行

                              1000     100
                              eth1     eth0
Internet-------Modem-------------CentOS6-----------------LAN
                     10.0.0.0/24         192.168.10.0/24
Run Code Online (Sandbox Code Playgroud)

双 NAT 是 CentOS 系统的遗产,以前曾作为以桥接模式运行的时代华纳电缆调制解调器后面的路由器/防火墙。当我进入 Comcast 领域时,我打算将调制解调器切换到桥接模式,但从未尝试过,而且双 NAT 从未引起过问题。我获得了 90Mbps 的吞吐量,没有任何问题。

在准备在 Comcast 调制解调器上转换为桥接模式时,我决定通过禁用一些不需要的服务并执行“yum update”来“强化”CentOS 系统,我已经有一段时间没有这样做了。加固后,我进行了速度测试,惊讶地发现吞吐量低至 30Mbps。

我尝试像这样将我的主桌面系统直接连接到调制解调器

                          eth1     eth0
Internet---Modem-------------CentOS6-----------------LAN
              |  10.0.0.0/24         192.168.10.0/24
              |
              +--------------Desktop(Win7)
Run Code Online (Sandbox Code Playgroud)

运行 speedtest.net 验证了我的 Comcast 连接能够达到 120Mbps,因此我在 CentOS 系统上更改的某些内容导致吞吐量上限为 30Mbps。每次我从 LAN(在 CentOS 系统后面)进行速度测试时,我都会得到一个在 30Mbps 的 1-2% 内的值,所以几乎感觉有些东西在人为地限制吞吐量。

我想也许流量整形以某种方式启用了,但tc似乎表明它不活跃

[jhg@perseus …
Run Code Online (Sandbox Code Playgroud)

bandwidth router throttling

12
推荐指数
2
解决办法
813
查看次数

交换机之间的多个网络连接会增加带宽吗?

假设我在网络上有 2 个相同的非托管千兆交换机,A 和 B。有计算机连接到交换机 A,还有其他计算机连接到交换机 B。A 和 B 通过 1 根电缆连接。因此,A 上的计算机与 B 上的计算机可用的总(理论)带宽是 1Gbit/sec。一切都很好。

如果我现在在交换机之间连接第二条电缆,并且不做其他更改,那么两组计算机之间的总(理论)带宽是否会达到 2Gbit/sec?

networking bandwidth switch

11
推荐指数
1
解决办法
2万
查看次数

限制已启动进程的网络吞吐量?(Linux/FreeBSD)

是否有任何实用程序可以限制进程启动后的网络吞吐量?简单示例:您注意到用户使用 scp 占用了您所有的上传带宽,并且您想限制速率或降低传输的优先级。

我想我可以使用 iptables/tc 或 pf 的组合来实现这一点,但我想知道是否有可用的“一次性”工具(例如带有 --pid 选项的涓流 ^^)?

linux bandwidth bsd process bandwidth-control

11
推荐指数
1
解决办法
4981
查看次数

如何找到使用最多带宽的进程

如何在 Linux PC 上找到使用最多带宽的进程?

有了iftop它有可能找到它连接生产的大部分带宽,而是如何找到进程?

networking linux bandwidth tcp

11
推荐指数
1
解决办法
2940
查看次数

监控互联网带宽

我们在我们的网络中安装了 IPCop 防火墙/代理,虽然我可以使用 iftop 来查看客户端如何使用 Internet,但是否可以使用诸如 ntop 之类的东西从代理外部对其进行监视?

请注意,我对 LAN 流量不感兴趣,只对进出 Internet 的流量感兴趣。

bandwidth monitoring

10
推荐指数
2
解决办法
1557
查看次数