8G内存的普通电脑可正常达到的并发数量
仅做记录:
普通的Web系统,关于并发量与用户数的关系计算如下:
1.单台服务器最高并发数2000,这是业内的大牛通过各种架构/优化/技术实现的. 我们水平没那么高, 但200并发 绝对是没问题的.
2.单个请求的处理时间, 理论上的极值为70ms(这是内网Web服务器访问数据库服务器的网络时间), 我们水平没那么高, 但也绝对可以在500ms内完成一次请求(不包括用户到Web服务器的网络时间)
3.根据以上, 单台服务器 每秒可响应 400个请求.
4.每小时响应 144W 请求.
5.每天的响应不能简单 乘以24, 因为正常系统,晚上没人用, 电子商务通常在早10,下午14点,晚上19点附近会有高峰期. 根据经验,高峰期 一小时的请求量是每天请求量的十分之一.
即每天响应 1440W请求.
6.每个页面平均有2个请求(Ajax会导致额外的请求), 静态资源请求不计入,这个只跟网络有关,即,每天响应720W个页面
7.根据经验,在网站发生实质性业务的用户 ,平均打开100个页面(这个是往高了说的). 即 单台服务器 每天可支持 7.2W个实质交易.
8.根据经验 每天 登录用户数是交易用户数的十倍,但页面打开数极少,通常是1-10, 这个忽略. 即, 单台服务器每天 有 72W个登录用户.
9.根据经验,注册用户是每天登录用户的10倍(如果没有刷僵尸用户的话), 单台服务器可以为 720W个注册用户服务.
10.使用负载均衡后,通常负载均衡服务器 会是 2/4/8/16 这个规模 , 通常不会超过16. 即 16个负载均衡服务器 可 服务 1.15亿用户(这个至少也是京东的级别了)
最后: 如果用户数超过以上计算,或者业务复杂度导致无法实现200并发(如:复杂业务,几十个流程),那么 我们会根据实际项目情况 采取 其他技术手段来提高 服务器集群的响应能力
如: 缓存memcache, 更高速的数据库mongo/redis,动静分离CDN,数据库分库/分表
再比如: 部分关键节点采用Java进行处理, 这里并不是说Java就比PHP好, 但在极限速度响应上,Java的确比PHP快, Java进程驻留内存啊~~~
另外:
并发用户
并发用户数量,有两种常见的错误观点。一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比较接近正确的观点是把用户在线数量理解为并发用户数量。实际上,在线用户不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器是没有任何影响的。但是,用户在线数量是统计并发用户数量的主要依据之一。
并发主要是针对服务器而言,是否并发的关键是看用户操作是否对服务器产生了影响。因此,并发用户数量的正确理解为:在同一时刻与服务器进行了交互的在线用户数量。这些用户的最大特征是和服务器产生了交互,这种交互既可以是单向的传输数据,也可以是双向的传送数据。
并发用户数量的统计的方法目前还没有准确的公式,因为不同系统会有不同的并发特点。例如OA系统统计并发用户数量的经验公式为:使用系统用户数量*(5%~20%)。对于这个公式是没有必要拘泥于计算的结果,因为为了保证系统的扩展空间,测试时的并发用户数量要稍微大一些,除非是要测试系统能承载的最大并发用户数量。举例说明:如果一个OA系统的期望用户为1000个,只要测试出系统能支持200个并发用户就可以了。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
电脑CPU核心数量与线程数量:
在打开的运行框中输入cmd,进入cmd窗口,输入wmic回车,再输入cpu get回车即可获取到CPU详情,往后拖动滑块找到两个值,一个是NumberOfCores表示是核心数,另一个是NumberOfLogicalProcessors表示线程数。
WIN系统查询CPU线程数: