如果前端有 1000 个用户在同时向服务器发送一个请求,需要返回同一个数值,服务器要达到什么条件才能没有什么延迟?
1
operafans 2017-07-18 21:05:20 +08:00
并发数
缓存命中(因为你返回的同一个数值 应该要求直接命中缓存) |
4
snnn 2017-07-18 21:16:36 +08:00 via Android
一般的机器处理能力是每核 2 万
|
5
ldbC5uTBj11yaeh5 2017-07-18 21:18:08 +08:00
@snnn 要看是空闲 /IO 连接还是 CPU/Mem 密集型链接。
|
6
watzds 2017-07-18 21:23:56 +08:00 via Android
什么叫同时?什么是没什么延迟?返回数字哪里来的
|
8
gamexg 2017-07-18 22:11:59 +08:00
返回同一个数值
这种需求不正好上 CDN 吗? |
9
lightening 2017-07-18 22:13:38 +08:00 via iPhone
什么叫同时啊?真正“同时”的话,服务器至少得要 1000 个核心吧?
|
10
jinwyp 2017-07-18 22:20:08 +08:00 1
go 或 nginx + nodejs 非常轻松。只要代码没问题 1000 并发根本和 1 个并发差不多。 如果是 PHP 可以需要注意优化,例如 nginx + php fpm 没啥问题。 如果 apache + php 可能就不行了。 python 或 ruby 开发的也是同样道理,比 PHP 慢点, 要注意优化。 如果是 java spring boot 也要注意,性能还是比较差的,需要各种优化
|
11
operafans 2017-07-18 22:47:05 +08:00
@stabc 表述可能有误 我认为楼主所谓没有延迟就是极短时间内并发响应,而且是读数据库那种,请问 IOPS 达到这个数值有问题吗?或许我应该用 [硬件]
另外你被 deactive 了?没有收到任何提醒 |
13
ryd994 2017-07-19 04:46:09 +08:00 via Android
你需要的不是并发 1000
而是 1000req/s 如果你要求更低的延迟,那就 1000/0.01=100000req/s 甚至更多 10ms 够“瞬间”了吧?很多时候网络延迟都超过这个数 |
14
ryd994 2017-07-19 04:48:39 +08:00 via Android
说什么都是虚的
虚拟机开个服务器测一下不就知道了 虚拟机是有损耗,但是大致估算数量级不成问题 |
15
msg7086 2017-07-19 06:38:58 +08:00
nginx 走 lua 直接访问 redis 可以轻松做到每秒数千请求。
redis 也算是数据库了吧。 |
16
meepo3927 2017-07-19 08:42:56 +08:00
需要考虑一下有没有 I/O 吧,
如果有 I/O,是数据库? redis ?其他? 毕竟内存和硬盘的速度不一样。 |
17
wenzhoou 2017-07-19 11:22:43 +08:00 via Android
这玩意儿不是论 tps 的吗?
|
18
neurocomputing 2017-07-19 12:34:38 +08:00
1000 并发“简单”请求,根本不算什么压力
|