网站服务器支持同时在线人数的因素

海外服务器 (396) 2016-01-12 13:49:39

经常遇到一些做WEB用户咨询服务器支持在线人数问题,在此做个简单介绍。非技术性讨论,如有疏漏或错误,敬请原谅和指导。

 

以普通单路服务器为例,CPU处理多个进程,并非是同一时刻处理的,(可以精确到1/1000秒),而是串行处理的。CPU通常把1秒的时间分割成N份,然后按照顺序,分别用1秒中的第1份处理第一个进程,用第二份处理第二个进程……用第N份处理第N个进程,也就是说CPU的处理能力,不是在于这一秒中内提交了多少申请,而是在于系统把CPU时间分了多少份。

 

例如通常系统默认进程数可以支持256个,而CPU将1秒分成100份的话,那么剩余的156个进程就要在下一秒中执行了,网卡得到请求信息后进入内存进行排队,所以通常内存大的话,会感觉支持在线人数多一些,而实质上是与CPU划分时间片是有关的,性能越高的CPU划分的时间片就可能越多,即处理速度就快。 

 

当然在此说的一个进程并非只一个请求,一个进程通常可以包含100个相同请求,这样计算的话,CPU在1秒钟内可处理请求数为100*100=10000,然而我们知道,大部分用户不可能在一分钟内只提交一次请求,即只点击一个链接。

 

此外,带宽方面是支持在线人数的最关键的一个因素,服务器按照咱们所保证的最大带宽是5M,即5Mbit/s,相应的,服务器的数据最高传输速度应为5/8byte/s*1024=640K/s 。一分钟流量大约640K/S*60=38400K,假使每个用户一分钟内占用10K,即该一分钟内支持在线访问人数为3840人。(图片类和视频类站点不在此例,因为图片类视频类每个用户一分钟内绝对超过10K),但是,我们并不能保证每个用户在一分钟内只访问一个该站链接,假如每个用户在一分钟内点该站两个链接的话,那么支持在线人数应该在2000以下。

 

综上所说,一台中低端服务器通常最高支持在线人数为2000人左右,而且只适合普通WEB服务器和文字型论坛。不包括图片类下载类视频类等。其实一台服务器如果真是在线人数达到这么多了,也就需要加机器和带宽了!

THE END