论坛首页 Ruby版

rails聊天室性能瓶颈

浏览 4499 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
时间:2008-06-17 关键字: rails 聊天室 性能
每个访客的平均动态请求如下:
每隔3秒获取最新的聊天记录;
每隔5秒提交自己的聊天内容;
每隔10秒获取在线的聊天用户列表;
也就是每秒每人0.63次动态请求
平均每个请求的执行的sql查询为调用4次,包括权限验证、非法验证等。
假如在线100人的话,每秒会有60多次的动态请求,200多次的数据库查询。
由于服务器有另外应用所以部署环境为windows2003,apache,mongrel,mysql,硬件为2.6g双核,2G内存。
不知这样的应用可否?另外linux和windwos部署性能差距有多大?
   
时间:2008-06-17
searching 写道
每个访客的平均动态请求如下:
每隔3秒获取最新的聊天记录;
每隔5秒提交自己的聊天内容;
每隔10秒获取在线的聊天用户列表;
也就是每秒每人0.63次动态请求
平均每个请求的执行的sql查询为调用4次,包括权限验证、非法验证等。
假如在线100人的话,每秒会有60多次的动态请求,200多次的数据库查询。
由于服务器有另外应用所以部署环境为windows2003,apache,mongrel,mysql,硬件为2.6g双核,2G内存。
不知这样的应用可否?另外linux和windwos部署性能差距有多大?


权限验证、非法验证没有必要每次都查数据库吧
   
0 请登录后投票
时间:2008-06-17
聊天这个东西,真想做大规模的话,长连接是免不了的
   
0 请登录后投票
时间:2008-06-17
gigix 写道
聊天这个东西,真想做大规模的话,长连接是免不了的


反了吧,有限成本内,如果想做大的话,长连接应该是尽量避免的
   
0 请登录后投票
时间:2008-06-17
pi1ot 写道
gigix 写道
聊天这个东西,真想做大规模的话,长连接是免不了的


反了吧,有限成本内,如果想做大的话,长连接应该是尽量避免的

p2p嘛
   
0 请登录后投票
时间:2008-06-17
gigix 写道
pi1ot 写道
gigix 写道
聊天这个东西,真想做大规模的话,长连接是免不了的


反了吧,有限成本内,如果想做大的话,长连接应该是尽量避免的

p2p嘛


发贴的看描述是irc那样的群聊,是群p
   
0 请登录后投票
时间:2008-06-18
gigix 写道
聊天这个东西,真想做大规模的话,长连接是免不了的

现在长连接技术还不是很成熟,基础框架也有这样那样的问题。
具体的运行情况是在35人同时在线的情况,cpu占用率一直在70%左右,mysql占15%,两个ruby进程每个15%,mongrel_service倒不多10%以下,apache占10%。内存在200M以内。
所以担心100人的话cpu会吃不消,不知linux下lighttpd+fastcgi部署的话会比这个强多少。
   
0 请登录后投票
时间:2008-06-18
searching 写道
gigix 写道
聊天这个东西,真想做大规模的话,长连接是免不了的

现在长连接技术还不是很成熟,基础框架也有这样那样的问题。
具体的运行情况是在35人同时在线的情况,cpu占用率一直在70%左右,mysql占15%,两个ruby进程每个15%,mongrel_service倒不多10%以下,apache占10%。内存在200M以内。
所以担心100人的话cpu会吃不消,不知linux下lighttpd+fastcgi部署的话会比这个强多少。

比windows强无数倍…
windows开启进程的开销太大
   
0 请登录后投票
时间:2008-06-18
gigix 写道
searching 写道
gigix 写道
聊天这个东西,真想做大规模的话,长连接是免不了的

现在长连接技术还不是很成熟,基础框架也有这样那样的问题。
具体的运行情况是在35人同时在线的情况,cpu占用率一直在70%左右,mysql占15%,两个ruby进程每个15%,mongrel_service倒不多10%以下,apache占10%。内存在200M以内。
所以担心100人的话cpu会吃不消,不知linux下lighttpd+fastcgi部署的话会比这个强多少。

比windows强无数倍…
windows开启进程的开销太大

说话没谱,无数倍是多少,同等级别的应用在linux下资源消耗情况如何?关键是cpu占用率高,你说的开销太大大在什么地方,有具体数据吗?
   
0 请登录后投票
时间:2008-06-18
干嘛非要用ror?
象聊天室这样要求性能,功能确定,变化不大的玩意,用java开发也不会比ror慢
而且,真要性能,就想想怎么把数据库抛掉,至少是尽量减少使用数据库
   
10 请登录后投票
论坛首页 Ruby版

跳转论坛:
JavaEye推荐