论坛首页 入门技术论坛

电信级别的视频会议项目(基于WEB)的性能问题

浏览 44628 次
该帖已经被评为新手帖
作者 正文
   发表时间:2009-06-25   最后修改:2009-06-26
    有一点点长各位兄弟姐妹特别是大牛们能不能耐下心来看完把 ,真的很需要大家的帮助。
     我们公司现在正在给中国最大的电信行业运营商开发一个基于B/S的视频会议系统,现在很多数据视频会议(其中有电子白板,文档共享,桌面共享功能是用activx开发完成的),其中有视频音频会议和数据会议,IM聊天功能,还有与会者列表刷新,会议状态刷新功能。
   大家知道由于众所周知的原因,浏览器不能主动获取客户端的状态的,而且为了客户安装方便我们决策用b/s结构来实现数据会议。因此,我们会议状态的即时通知实现时,用ajax的轮询(其实感觉推对性能提升也不大,所以没有用推),所以一个与会者是否进入会议大概需要通过每隔几秒轮询服务器的n多代码,特别是会议状态查询,需要每隔两秒查询n次数据库(是否投票被创建,某某某进入会议,某某某退出会议,会议视频防守改变等等)竟然需要查询7张表,服务器是四核的戴尔4核PE2950,但是这样开7,8个会议50个人,基本上系统就非常的卡。
   更郁闷的是,我们公司是用tomcat来做web容器而且没有集群,现在正在压力测试阶段,
现在主要不知道单台tomcat可以支持的动态峰值并发可以达到多少,现在想达到100人的同时会议,为了保证实时性,每个用户每隔3秒查询7次数据库(还有复杂的一些代码逻辑比较,剥离过滤数据),不知都是否只能延长轮询的时间,这样会议实时性就会降低 哎用b/s实现c/s功能真难啊
大牛们能不能对如何提升系统性能指教小弟一二,在此谢过了。
   在此等待高人相助
   发表时间:2009-06-25  
你才是大牛-- "大家知道由于众所周知的原因,浏览器不能主动获取客户端的状态的...中国最大的电信行业运营商开发一个基于B/S的视频会议系统...用ajax的轮询.." .

  即然要在IE上装activex,为什么还要ajax?为什么不干脆就本机liveUpdate程序?自己折腾个demo玩玩吧.
0 请登录后投票
   发表时间:2009-06-25  
。。。。
哥们因为我们的系统已经开发1年多了 快要交付了现在开始压力测试 即使现在变回cs的话我同意,要重新开发系统的话也不可能吧,还是在现有架构上修修补补比较现实点吧, 比如用tomcat集群,双击集群还是多机集群,对性能的提升可以增大多少呢
0 请登录后投票
   发表时间:2009-06-25  
kakaluyi 写道
需要每隔两秒查询n次数据库(是否投票被创建,某某某进入会议,某某某退出会议,会议视频防守改变等等)竟然需要查询7张表

登录的用户登录状态缓存一下不就不用频繁查数据库了?居然要查7张表,你们怎么设计的哦?
0 请登录后投票
   发表时间:2009-06-25  
   恩,我举个其中查询某张与会者表的例子,xxx进入退出会议这样设计的:
   一个会议邀请用户进入会议后会存入与会者信息到数据库的参与者列表,然后进入会议后查询数据库和原来的会议用户缓存的比较,轮询时候如果有变化则通知客户端更新会议xxx进入会议什么的,然后刷新缓存,因为会议很复杂还有投票啊,聊天之类的一些功能,所以七张表应该可以理解吧  呵呵
   
0 请登录后投票
   发表时间:2009-06-25  
kakaluyi 写道
   恩,我举个其中查询某张与会者表的例子,xxx进入退出会议这样设计的:
   一个会议邀请用户进入会议后会存入与会者信息到数据库的参与者列表,然后进入会议后查询数据库和原来的会议用户缓存的比较,轮询时候如果有变化则通知客户端更新会议xxx进入会议什么的,然后刷新缓存,因为会议很复杂还有投票啊,聊天之类的一些功能,所以七张表应该可以理解吧  呵呵

7张表可以理解,2秒钟轮询去差7张表实在无法理解!

引用
一个会议邀请用户进入会议后会存入与会者信息到数据库的参与者列表

对一个会议难道不是维护一个与会者列表?而是每次去查数据库?

引用
聊天之类的一些功能

每一句聊天内容你就往数据库里插,别人从数据库里读?这更无法理解
0 请登录后投票
   发表时间:2009-06-25  
▄︻┳═一 写道
kakaluyi 写道
   恩,我举个其中查询某张与会者表的例子,xxx进入退出会议这样设计的:
   一个会议邀请用户进入会议后会存入与会者信息到数据库的参与者列表,然后进入会议后查询数据库和原来的会议用户缓存的比较,轮询时候如果有变化则通知客户端更新会议xxx进入会议什么的,然后刷新缓存,因为会议很复杂还有投票啊,聊天之类的一些功能,所以七张表应该可以理解吧  呵呵

7张表可以理解,2秒钟轮询去差7张表实在无法理解!
(会议需要实时性)

引用
一个会议邀请用户进入会议后会存入与会者信息到数据库的参与者列表

对一个会议难道不是维护一个与会者列表?而是每次去查数据库?
为了知道上一秒谁进入会议,肯定要和缓存比较的呀

引用
聊天之类的一些功能

每一句聊天内容你就往数据库里插,别人从数据库里读?这更无法理解

这个不是用数据库实现的,笔误, 现在主要不知道单台tomcat可以支持的动态峰值并发可以达到多少,现在想达到100人的同时会议,每个用户每隔3秒查询7次数据库(还有复杂的一些代码逻辑比较,剥离过滤数据),不知都是否只能延长轮询的时间,这样会议实时性就会降低 哎用b/s实现c/s功能真难啊
0 请登录后投票
   发表时间:2009-06-26  

是不是对系统架构这块熟悉的大大们都不屑回答这种小儿科的问题,
不要沉下去,继续等待。。。
0 请登录后投票
   发表时间:2009-06-26  
你认为你的压力在于轮询频繁上吗?
没有这方面的经验,但希望你能给出你们的测试数据大家来分析下。
做视频会议,流媒体数据转发,这个压力才是主要的吧!
0 请登录后投票
   发表时间:2009-06-26  
看看人家QQ聊天室,哪有那么多问题啊。楼主去折腾AJAX,还不如做applet哪,和WebEX一样,效果也好,客户端多做点缓存服务器端压力就小了。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics