听到过12306春节网站崩了,听说啊里每秒种能处理多少多少数据,对于普通人毫无概念,其实对于内门人估计没什么概念。
现在只是记录一个我个人的理解,在此别喷,当我放P。。。。。。。。。
首先应该建立一个概念:1 服务器能跑多快?用什么恒量?
2 每处理一个客户要占用服务器多长时间?
比如,1.0 服务器每秒100万条指令 2.0 每处理一个客户要占用一条指令。在完美情况下,一秒种能处理一百万个客户。
问题一:实际情况是,有些客户用时比较长,当一个客户要求一千万条指令,且这个客户排在第一,如果是串行处理,服务器将先处理这个高时间客户,用去10秒,而后面99万9千9百9十9个客户要等十秒。这是不好体念,在此必须并行处理,引入了时间片概念。
其实服务模型与cpu调度策略一样,每个客服应该有自己的时间片,如果以线程或进程为每个客户开一个时间片,如果有一亿客户,开一亿个进程或线程,那开消太大了。所以如果知道客户的处理时间,按客户处理时间分类,如果类太大,又可以分组,每个组开一个时间片,那就可以解决上面问题。
问题二:当数据量很大时候,一台机器,即要处理数据,又要存放与检索数据,那会不太好。干麻不多用一台器机作数据库呢
用一台机器存放与检索数据。(其实即然可以一台,为什么不可以两台以上呢?)
用一台机器 处理数据。(同理可以用两台)