我经常在一堆应用服务器前看到带有 SLB/反向代理的 Web 应用架构。
当到SLB的连接数需要太多资源而单个SLB无法有效处理时,会发生什么情况?对于一个具体但过度的示例,请考虑 200 万个持久 HTTP 连接。显然,单个SLB 无法处理此问题。
什么是缩放的建议配置了一个SLB?
创建 LB 的组/集群是典型的吗?如果是这样,客户端负载如何在 LB 组之间分布?
假设我在同一个数据中心有 2 台机器,但不一定在同一个机架中。
在这两台机器之间使用 UDP 发送时,丢弃的数据包有多常见?
我的假设下问这个,因为只有在机器之间最少数交换机的数据包不会被丢弃在所有。
无序数据包到达同一数据中心有多常见?我的假设是 99.9% 的时间只有一条路线,所以这不会发生。
然而,每当我发现自己在思考绝对的问题时,我知道我一定错过了一些东西!
我需要哪些背景信息才能更好地了解何时会出现丢弃的数据包,以及它们可能被丢弃的频率以及同一数据中心内的机器出现故障的频率?
最终,我试图在位于同一数据中心的不同 Linode VPS 实例之间进行通信时决定是使用多播 UDP 还是 PGM。信息必须按顺序到达。当然,UDP 听起来不是那么好!
但是,如果人们可以期望在同一个数据中心内实现几乎完美或完美的交付,那就没问题了。但是,我正在测试这个假设。
谢谢。
我是一名开发人员,设计网络服务时有好坏之分,iPhone 客户端将对其造成严重打击。iPhone 应用程序在过去一年的下载量超过 10 MM,现在我让用户在线进行互动。
我想为将托管我的基于 TCP 的网络服务的服务器调整 TCP 实现。发送的每个请求大小将是“小”(比如 < 256 字节)。好吧,你明白了,这是一个游戏服务器(令人震惊!)。
仅供参考,我对这个特定服务的 UDP(或 UDP 之上的可靠层,例如在 ENet 和 RakNet 中看到的)不感兴趣,因为游戏不是类似 Quake 的;必须可靠地接收所有数据包,这就是 TCP 的设计目的。因此,iPhone 客户端和服务之间的连接将是“长期存在的”(尽可能多——该死的隧道和电梯!)。
仅供参考,我在运行 Linux 2.6.18-164.9.1.el5 的服务器上的 100Mbps 上行链路上运行该服务。
我的目标是同时:
有大量与 TCP 相关的旋钮需要调整!经过一些基础研究后,似乎大多数人建议保留设置不变。但是,有许多设置似乎应该针对特定情况进行调整。我知道这有点模糊,这就是我寻求帮助的原因。
考虑在不稳定网络上调整小请求/响应同时尽可能减少内存的事情可能是:
考虑 TCP拥塞控制算法:
我的服务器默认使用bic,其“目标是设计一种协议,可以在高速长途网络上将其性能扩展到每秒数十千兆位,同时保持强大的公平性、稳定性和 TCP 友好性。”
仅从微小的描述来看,Westwood听起来更合适,因为它“旨在更好地处理大带宽延迟产品路径(大管道),由于传输或其他错误(管道泄漏)而导致潜在的数据包丢失,以及动态负载(动态管)”。
我是不是在这里太深入了,还是这门课程的标准?
你们通常为什么类型的东西调整 TCP/IP?如何?有哪些经验法则需要知道?
对于我的具体情况,您有哪些智慧之言?
非常感谢!
具有单个网络接口的专用服务器拥有多个公共 IP 地址有什么意义?我看到很多专用服务器托管服务都显示类似“公共 IP:8”的内容。我错过了什么?谢谢!
networking ×2
datacenter ×1
hosting ×1
ip ×1
ip-address ×1
iphone ×1
linux ×1
multicast ×1
packetloss ×1
scalability ×1
tcpip ×1
udp ×1