一个网站,需要多少 CPU、RAM、带宽,是怎么算出来的?能承受的最大并发数又是怎么算的?

2016-10-26 19:30:52 +08:00
 Loyalsoldier

如题。

本人使用阿里云的最低配置的 1 核 CPU 、 1G RAM 、 1M 带宽,请问对于一个 PHP 应用而言,能同时承受的最大并发数大概是多少?是怎么算?

5724 次点击
所在节点    问与答
22 条回复
IJustmaogepao
2016-10-26 19:40:51 +08:00
先 mark 下,,不过我觉得这应该和代码质量以及算法也有很大的关系。。看看有没有大神回答
chenset
2016-10-26 20:31:59 +08:00
没有直接的算法,主要还是看是什么样的应用, 只能自己 ab 一下. 看这个配置, 带宽会最先成为瓶颈.
shoaly
2016-10-26 20:40:09 +08:00
根据 啥时候卡了 才知道
lhx2008
2016-10-26 20:43:03 +08:00
楼上正解,因为不同程序执行效率不一样,并且还有优化的空间,像 memcache 和静态缓存、 CDN 等,保守估计, 1GRAM 普通程序 1W IP 没什么问题
em70
2016-10-26 20:43:03 +08:00
不是算出来的,而且运营中不断调整的,初期你的量很小,就最基本配置即可,发现负载过高就升级,千万不要有一步到位的想法。

还有,大多数失败的互联网项目都是因为在只有 100 用户的时候考虑 1 亿用户的情况而死掉的,切记
huigeer
2016-10-26 21:03:06 +08:00
80%的 pv 访问量发生于 20%的时间,以百万每天的 pv 访问量计算,吞吐量大约为 46
xspoco
2016-10-26 21:11:11 +08:00
1M 才 100KB/s+ 左右 感觉好小。。
Binarization
2016-10-26 21:16:19 +08:00
@xspoco 服务器带宽 1M 就是 1M/s 吧
fo2w
2016-10-26 21:18:39 +08:00
@Binarization 很遗憾...
yilin101
2016-10-26 21:24:03 +08:00
@Binarization 不是,
xspoco
2016-10-26 21:28:12 +08:00
lecher
2016-10-26 21:32:10 +08:00
首先跑起来做个压力测试。
看每秒 qps ,可以测出来业务的处理能力,每秒能处理几个。
看请求返回的耗时,可以算出来用户的平均等待时间。

监控实际压力测试时候的服务器负载。可以看到在什么阶段的并发请求会占满服务器的资源,是带宽先跑完,还是内存,或者 CPU 。可以进一步分析这个业务是消耗什么资源的。

最后再根据不同业务的资源消耗情况,和不同业务的实际请求比率计算需要扩容的资源。

实际跑的时候,监控服务器负载,服务器负载爆了什么就想办法扩容什么。
daya
2016-10-26 21:32:27 +08:00
@Binarization 请注意单位
akira
2016-10-26 21:34:32 +08:00
1M 带宽的时候,瓶颈一般都是在带宽了,简单估算就是 带宽 /页面大小
假设页面大小是 1M ,那么每秒并发就是 1/8 个

静态资源丢 oss 会大幅度减少对带宽的需求。
billlee
2016-10-26 23:19:59 +08:00
这个不是算出来的,而是做压力测试测出来的
简单的应用还能估计,应用越复杂,瓶颈越可能出现在你想不到的地方
hack
2016-10-27 08:04:05 +08:00
测试环境性能测试算出来了 服务器性能应满足未来一段时间的业务量
Loyalsoldier
2016-10-31 18:07:34 +08:00
@chenset
@lhx2008
@em70
@huigeer
@lecher
@akira
@billlee
@hack

附加两个条件:

1. 假设是最简单的 PHP 商城,手机端( LNMP ,不用 Redis 、 MemCache ),主战场是微信,最多 1W 用户,日活 500 人。能简单估算一下需要的服务器配置?
2. 有没有必要用 Docker 做分布式集群?多少用户适合做集群?

最好能给个大概的估算。另外,服务器怎么做压力测试?
em70
2016-10-31 19:31:20 +08:00
@Loyalsoldier 这个量太小了,而且实际量可能比你估计还要小,阿里云最便宜的 ECS+5M 带宽+最便宜的 RDS 就行了,如果感觉卡了,动态升级下配置, 5 分钟后生效就行了,有什么可纠结的
em70
2016-10-31 19:35:52 +08:00
@Loyalsoldier 等阿里云最高级的 RDS 都满足不了你的业务,你这个东西价值至少过亿了,大把的投资会主动找上门,到时开 100 万年薪请大牛给你做构架,集群不集群,那是你该关心的事吗

第二次重复给你这个提醒:大多数互联网项目失败都是因为只有 100 用户的时候考虑一亿用户的事死掉的
akira
2016-10-31 20:47:44 +08:00
@Loyalsoldier 这样的规模 最低配的 rds+最低配的 ecs+5M 带宽完全足够折腾了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/315708

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX