免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: iammecn
打印 上一主题 下一主题

[FreeBSD] 讨论|一台服务器能承受4680万人在线? [复制链接]

论坛徽章:
0
61 [报告]
发表于 2007-05-05 03:37 |只看该作者
原帖由 flfq 于 2007-3-30 03:26 发表
一群流氓好不容易逮到楼主这样的人,你说他们会放过楼主吗??
其实人家回贴里并没有恶意的,而且还能从中学到点什么
所以楼主不用在意人家说什么,大家都没有恶意的,调节一下气氛也没什么的

楼主其实并没在意,大家只是说说开心,加深印象........

论坛徽章:
0
62 [报告]
发表于 2007-05-11 22:16 |只看该作者
(li) (li) (li) (li)

论坛徽章:
0
63 [报告]
发表于 2007-05-13 20:30 |只看该作者
受不了楼主,0。01秒处理只是说的是响应速度,问一下,是不是0。01秒后,你处理的连接就断开了。

论坛徽章:
0
64 [报告]
发表于 2007-05-14 03:55 |只看该作者
lz 这帖子你赚海了

论坛徽章:
0
65 [报告]
发表于 2007-05-14 13:28 |只看该作者
超级陆路过,只能说对机器处理和各个因素没考虑周全。人总要在失败后才 知道怎么成功。

论坛徽章:
0
66 [报告]
发表于 2007-05-14 20:52 |只看该作者
mysql早就挂了
呵呵

论坛徽章:
0
67 [报告]
发表于 2007-05-15 01:53 |只看该作者
原帖由 iammecn 于 2006-4-21 11:31 发表
如果我一台双至强服务器,架设discuz论坛.
Freebsd6系统,apache和mysql都使用默认设置。
apache默认设置是260进程同时.
www.discuz.net的官方网站,每处理一个页面的时间大约在0.01秒。
那么可不可以这样计算:
260进程,每个进程处理一个页面需要0.01秒,那么一秒钟内,260个进程就是处理:一个进程一秒处理100个页面,即100个请求。那么260个进程就是处理260*100=26000个请求?一秒种就能处理26000个,那么30分钟就是26000*60*30=46800000个请求。
一般论坛也就是在线按30分钟计算:那么理论上一台服务器可以支持4680万人在线?


LZ, 首先假设你确实是有疑问而不是在寻开心。根据我们以往的经验,一台中端的服务器至多支持2000人左右在线的论坛,因而你的结论“一台服务器可以支持4680万人在线”是不可想像的。

在你推导出这一骇人听闻的结论的过程中有三处考虑不周:
1、在单处理机系统中,260个进程在微观上是以串行的方式运行的
2、你计算在线用户的方法有错误,一个在线的用户在30分钟内提出的请求通常是远超过1次的
3、即使真的存在一台处理能力超强的服务器,它也要受到带宽的制约

1、在单处理机系统中,260个进程在微观上是以串行的方式运行的。在分时系统中, 操作系统把CPU时间分割成较短的时间片,按时间片轮流把处理机分给这260个进程使用CPU。以LINUX为例,LINUX系统把1秒钟分割成100份,即时间片大小为0.01秒,假如不考虑进程切换的开销的话,在这1秒钟的时间里:
  • 在第1个时间片运行第1号进程0.01秒,处理第1个请求
  • 在第2个时间片运行第2号进程0.01秒,处理第2个请求
  • ...
  • 在第100个时间片运行第100号进程0.01秒,处理第100个请求

因此我们得出结论:
  • 在1秒中,260个进程中只有100个进程有机会使用CPU一小段时间(0.01秒)
  • 在1秒中,处理的请求的数目是100个而不是100*260=26000个

2、此外,你计算在线用户的方法有错误。假如服务器1秒可以处理100个请求,按照你的计算方法,这台服务器能够支持的在线人数是100*60*30=180000=18万人,虽然没有4680万那么BT,但也是相当离谱的一个数字。我们看看国内最大的社区天涯的在线人数统计:
在线人数:85285 其中会员:6044(为了吸引广告商,这个数字可能还有水分)

这么来说,理论上tianya使用一台服务器就应该就绰绰有余了。你的错误在于忽略了这样一点:一个在线的用户在30分钟内提出的请求通常是远超过1次的,还是以chinaunix.net为例,把有争论的热帖从头到尾翻一遍需要向服务器提多次请求。下面我们做个计算:
  • 假设平均每个在线用户在1分钟内浏览1次论坛的页面,这和论坛的类型相关,如果是图片站、美女站,用户活跃程度要高的多。
  • 对于一台每秒钟可以处理100个请求的服务器来说,1分钟内能处理的请求的总数目为1*60*100=6000个,即这台服务器能支持的在线人数的数目就是6000


3、最后,即使真的存在一台处理能力超强的服务器,它也要受到带宽的制约。现在中低端服务器的带宽保证也就是10MBPS,注意是10M BIT每秒而不是10M BYTE每秒,还得除个8,也就是服务器每秒最多传输1250K字节,做个计算
  • 假设平均每个在线用户在1分钟内浏览1次论坛的页面,每次需要服务器传输10K字节
  • 一分钟内,这台服务器能够传输的字节总数为1250K*60=75000K,即最多服务75000K/10K=7500个用户。


[ 本帖最后由 missjiang 于 2007-5-15 02:15 编辑 ]

论坛徽章:
0
68 [报告]
发表于 2007-05-17 11:35 |只看该作者
不用计算了! 肯定不行!

论坛徽章:
0
69 [报告]
发表于 2007-05-22 11:20 |只看该作者
300只肉鸡的并发链接就可以把你的php和mysql搞死。楼主信吗?

论坛徽章:
0
70 [报告]
发表于 2007-05-24 22:25 |只看该作者
原帖由 missjiang 于 2007-5-15 01:53 发表


LZ, 首先假设你确实是有疑问而不是在寻开心。根据我们以往的经验,一台中端的服务器至多支持2000人左右在线的论坛,因而你的结论“一台服务器可以支持4680万人在线”是不可想像的。

在你推导出这一骇人听闻 ...





COOL!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP