一般图片网站、论坛5M带宽===1000左右在线
-------------------------------------------
30W同时在线,3W人并发同时操作(实际操作为30W的10/1=3000),每个人页面30KB, 合算成带宽:
30KB*8=240Kb 那么3W/240Kb=125Mb
-------------------------------------------
音视频带宽计算方法网络环境:并发数3W,高清视频码率6Mbps,标清码率2Mbps.
需总输出带宽:假设高清与标清比例为2:8,单节点并发按1w计算,总输出带宽=2000*6+8000*2=28000Mbps
-------------------------------------------
通常我们在写proposal的时候是这样算的:
1、首先需要每个页面的平均大小。例如news.sina.com.cn是530KB
2、假设用户的等待容忍时间为20秒。
3、峰值并发数增加率。通常取30%
我们需要的带宽为:5000×530KB*130%/20/2=172.2MB/S
这个数值看上去很恐怖。但是一个并发数为5000用户的网站,2GB的汇聚带宽是需要的。
-------------------------------------------
SATA:50--250 (124 348ms 0.5M/s)
RAID:200--2000(863 45ms 3.8M/s)
ssd:6000--70000 (45000 0.95ms 190m)
-------------------------------------------
1. 首先要解决掉数据库的压力,3万qps对应的磁盘 iops 很大,不过现在好的 SSD 能提供很好的 iops, 比如这款: ARK | Intel® SSD DC P3700 Series (800GB, 2.5in PCIe 3.0, 20nm, MLC) 单盘 90000 IOPS,应该能撑住你的数据库,考虑到主备,以及你的sharding需求,3-9 台数据库机器,高内存,高CPU,SSD磁盘应该能抗住
2. 业务逻辑这一层: Java 系,用线程来抗并发的,如果业务逻辑不太复杂,那么基本能做到 100ms 内响应,那么 30000qps, 对应的是 3000并发线程,这部分设计的时候记得保持无状态,单台支撑 300-1000 并发没问题,加上一倍的冗余,那么 6~20 台业务型机器可以抗住。
3. 缓存层: 支付订单一般对缓存需求不高,但缓存层一般都会有,避免把查询压力压到数据库,简单两台缓存,或者缓存平行部署在业务型机器上都可以解决,具体看你的情况了。
4. 接入层: nginx 做LVS就可以了,记得 backlog 配大点就可以了, 3万qps, 假设单个请求的数据在 10KB 左右,那么是 300MB/s,如果是千兆机,每台4网卡,两内两外,加上冗余,我会部署4台入口机,如果是万兆机,两台做主备(心跳或者LVS)即可。
当然,魔鬼在细节,做好机器的监控,慢请求的监控,日志的汇聚与分析。然后逐步推进服务的 SOA 化来降低复杂度。留一台业务机打小流量来做线上测试。优化JVM运行参数,等等,要做的事情还很多。
性能大概指标
最新推荐文章于 2021-04-07 21:52:10 发布