tonardo做web服务器播放大视频内存泄露问题的解决
2013-08-04 00:13
357 查看
之前为了实现websocket来完成网页的推送,所以使用了tonardo作为web服务器。但是如果网页中含有视频插件的话,特别是经常要播放大视频的话,在linux环境下,经常发现
python进程会莫名其妙的死掉。通过内存检测命令动态查看,发现python进程的内存占用一直居高不下,并且需要启用缓存才行。直到python自动被os干掉。
后来把python版本升级到3.3,tonardo也升到了最新版本,情况稍微缓解了些。但还是没有解决问题。
于是借鉴常规网站图片和网页分离,用专用的图片服务器来提高网站性能的思路的借鉴,同时也考虑到tonado可能在 异步大并发通信上是优势。但是在多媒体承载方法可能存在固有的先天不足。所以考虑用更专业的静态服务器来替代。因为都是静态内容,具体考虑了4个:apache,lighttpd,nginx,Cherokee .经过测试nginx在高并发下内存占用的优势明显。
所以决定采用它。而且nginx 在windows和linux下的安装和配置都非常方便。
只要把视频的文件夹路径作为nginx的root 的路径在conf文件中配置一下就可以了。 结果 8G的视频文件播放几十个小时,一直比较流畅。没有出现内存泄露问题。
这个可以作为一个大视频播放的思路给大家参考一下。
python进程会莫名其妙的死掉。通过内存检测命令动态查看,发现python进程的内存占用一直居高不下,并且需要启用缓存才行。直到python自动被os干掉。
后来把python版本升级到3.3,tonardo也升到了最新版本,情况稍微缓解了些。但还是没有解决问题。
于是借鉴常规网站图片和网页分离,用专用的图片服务器来提高网站性能的思路的借鉴,同时也考虑到tonado可能在 异步大并发通信上是优势。但是在多媒体承载方法可能存在固有的先天不足。所以考虑用更专业的静态服务器来替代。因为都是静态内容,具体考虑了4个:apache,lighttpd,nginx,Cherokee .经过测试nginx在高并发下内存占用的优势明显。
所以决定采用它。而且nginx 在windows和linux下的安装和配置都非常方便。
只要把视频的文件夹路径作为nginx的root 的路径在conf文件中配置一下就可以了。 结果 8G的视频文件播放几十个小时,一直比较流畅。没有出现内存泄露问题。
这个可以作为一个大视频播放的思路给大家参考一下。
相关文章推荐
- tonardo做web服务器播放大视频内存泄露问题的解决
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- 解决WebViewActivity 退出后还在播放音视频的问题
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- ANDROID webview解决视频无法播放问题
- Android Webview完美支持播放各种视频。(解决无法播放优酷视频的问题以及周末无法播放优酷视频的问题)
- 解决Android中WebView视频无法播放的问题
- 解决FLV视频文件在服务器上无法播放的问题
- 解决页面退出 WebView 继续播放视频音乐的问题
- Android Webview中解决H5的音视频不能自动播放的问题
- Android Webview中解决H5的音视频不能自动播放、只有声音没有图像的问题
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- 解决FLV视频文件在服务器上无法播放的问题
- Android中使用WebView全屏播放视频时home键不起作用的问题解决
- Android 使用Webview无法播放视频问题的解决办法