首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高性能rtsp服务器

高性能rtsp服务器
EN

Stack Overflow用户
提问于 2012-02-15 15:53:59
回答 3查看 2.2K关注 0票数 3

我想实现一个高性能的rtsp服务器来处理vod请求-它只处理信令请求,它不需要流式传输媒体文件。我已经完成了一个基于Mina网络框架的Java版本,性能似乎不是很高。

据我所知,高性能的服务器(例如VoIP服务器)是用C编写的(例如OpenSIPS,Kamailo),我应该在我的项目中使用C还是C++来获得显著的性能提升?

顺便说一句。我找到了作者为什么用C语言编写OpenSER的一些解释:“另一方面,在用Java语言开发OpenSER应用程序时,垃圾收集器会造成很多麻烦。当垃圾收集器清理内存时,用Java语言编写的负载过重的服务器会停止工作。垃圾收集器造成的延迟甚至可以超过10秒。这样的延迟是不可接受的。”这是现在的事实,这意味着我也应该使用C语言吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-15 16:05:07

这里有大量的变量,语言可能不是决定因素。MINA的作者Trustin Lee后来创建了Netty,它确实提供了非常高的性能。Lee himself says指出,由于MINA提供的一些功能过于紧密地绑定到核心,因此MINA的“性能相对较差”。因此,在完全重写所有内容之前,您可能会先看看Netty。

如果您使用的是Oracle的JVM,那么您将使用一个经过高度优化的运行时系统,该系统可以识别代码中的热点(因此得名为"HotSpot"),并在运行时对其进行积极的优化。您很久以前就可以说,Java代码的运行速度将比C代码慢。编写良好、经过优化的C代码在某些特定任务中的性能可能优于同等的Java代码,但是从C代码中进行泛化可能不再合适,当然,您的代码必须承担JVM为您承担的几个Java负担。还要注意,您可以对tune the JVM's garbage collector做几件事,例如,优先选择一致性和短停顿,而不是内存占用和长停顿。

显然,C有几个优点(接近机器有时正是您想要的),对于某些任务的显式内存管理也是如此。

票数 5
EN

Stack Overflow用户

发布于 2012-02-15 16:00:26

您是否将您的rtsp服务器与Wowza进行了比较?Wowza也是用Java编写的,如果你的rtsp服务器的性能比Wowza低,我相信你可以在不改变语言的情况下提高它的性能,否则,如果Wowza和你的服务器有相似的性能,这表明Java不能满足性能要求,也许你应该考虑使用c/c++。

票数 3
EN

Stack Overflow用户

发布于 2012-12-12 08:04:45

我用C#构建了自己的RtspServer,可以流传输数以百计的客户端。

http://net7mma.codeplex.com/

代码项目文章@ http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp

欢迎您采用/参考该设计!(Apache 2许可证)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9289683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档