java - 每个 JVM 实例的 Java 最大速度是否达到 4Gbps 左右?
问题描述
Wowza 给我们带来了麻烦,没有超过 6k 的并发用户,有时会冻结在几百个。它崩溃并开始杀死会话。我们会在每个流媒体事件中多次重启 Wowza。
我们的服务器规格:
DL380 Gen10
2x Intel Xeon Silver 4110 / 2.1 GHz
64 GB RAM
300 GB HDD
The network 10 GB dedicated
Some servers running Centos 6, others Centos 7
Java version 1.8.0_20 64-bit
Wowza streaming engine 4.2.0
我问并被告知:
如果您在其前面放置一个 CDN,Wowza 可以轻松扩展到数百万(这很容易做到)。6K 用户关闭单个实例根本不会发生。一方面,Java 每个 JVM 实例的最大速度约为 4Gbps。因此,即使您的机器上有一个 10G NIC,如果您想使用全部带宽,您也需要运行多个实例。
和:
您可以在 10gb 网络 @ 2mbps 上执行多少个 720 流?
如果没有网络开销,大约是 5,000
由于 java 的限制为 4gbps,每个实例只有 2,000 个。那么,如果您确实设法利用该 10Gb 网络并使其饱和,那么人们在其他服务器上访问的所有其他应用程序会发生什么情况?
如果他们想要更多的流,他们需要在多个数据中心的边缘服务器,或者必须以某种方式安装更多的 10Gb 网络。
这仅适用于流式传输。不知道转码会在 CPU 负载和磁盘 IO 方面增加什么。
所以我开始寻找Wowza的替代品。由于我们业务的性质,我们不能使用 CDN 或云托管,除非客户很少。一切都应该在内部托管,在客户的数据中心。
我找到了这篇文章并联系了作者,向他询问 Flussonic 以及它与 Wowza 的比较。他说:
我无法谈论您在 Java 中看到的 4 Gbps 限制。您的 Wowza 实例也可能配置不正确。我们需要查看您的配置参数以了解发生了什么。
通过将 Wowza 和 Flussonic 媒体服务器与我们的点对点 (p2p) CDN 服务配对,我们在扩展 Wowza 和 Flussonic 媒体服务器方面取得了巨大成功。这就是我们在 2016 年写的那篇文章的重点
因为我们将服务器必须处理的 HTTP 请求数量减少了多达 90%(或更多),所以我们将每台服务器的容量增加了 10 倍——这意味着每台服务器可以处理 10 倍的并发查看器数量。
即使在 Wowza 论坛上,也有人说 Java 每个 JVM 实例的最大速度约为 5Gbps。其他人说这个数字是不正确的,或者是编造的。
由于我们业务的性质,这个数字虽然很愚蠢,但对我们来说意义重大。如果 Java 不能处理每个实例超过 7k 的查看器,我们需要召开会议并讨论如何处理 Wowza。
那么每个 JVM 实例 Java 的最大速度是 4Gbps 还是 5Gbps 是真的吗?
解决方案
推荐阅读
- blackberry-playbook - 没有收到 Blackberry Playbook 代码签名密钥
- php - 将 PHP SOAP 调用转换为 Postman
- javascript - 处理输入字段为组件的输入表单
- c# - Selenium Webdriver C# - 将 chromedriver.log 重定向到 stdout 或 stderr
- gitlab - 我们可以在 Gitlab 中拥有动态合并请求模板吗?
- php - 为什么我收到此 mbstring 扩展丢失错误
- ios - 无法从 Android Studio 为模拟器构建应用程序
- keras - 如何获得 keras-saved-model 的权重
- r - 将 R 与 Google Colaboratory 结合使用
- spring - 无法在 Spring Boot 上加入两个表