服务器要达到什么条件才能同时处理 1000 个简单请求?

2017-07-18 21:03:57 +08:00
 imcx15

如果前端有 1000 个用户在同时向服务器发送一个请求,需要返回同一个数值,服务器要达到什么条件才能没有什么延迟?

5625 次点击
所在节点    问与答
18 条回复
operafans
2017-07-18 21:05:20 +08:00
并发数
缓存命中(因为你返回的同一个数值 应该要求直接命中缓存)
imcx15
2017-07-18 21:08:14 +08:00
@operafans 意思是直接命中缓存的话,1000 个并发量应该不会有什么压力,对吗?
operafans
2017-07-18 21:11:26 +08:00
@imcx15 我觉得是的。不命中的话你的硬盘 IOPS 要到 1000
snnn
2017-07-18 21:16:36 +08:00
一般的机器处理能力是每核 2 万
ldbC5uTBj11yaeh5
2017-07-18 21:18:08 +08:00
@snnn 要看是空闲 /IO 连接还是 CPU/Mem 密集型链接。
watzds
2017-07-18 21:23:56 +08:00
什么叫同时?什么是没什么延迟?返回数字哪里来的
stabc
2017-07-18 21:51:24 +08:00
@operafans
>不命中的话你的硬盘 IOPS 要到 1000
别乱说好么
gamexg
2017-07-18 22:11:59 +08:00
返回同一个数值

这种需求不正好上 CDN 吗?
lightening
2017-07-18 22:13:38 +08:00
什么叫同时啊?真正“同时”的话,服务器至少得要 1000 个核心吧?
jinwyp
2017-07-18 22:20:08 +08:00
go 或 nginx + nodejs 非常轻松。只要代码没问题 1000 并发根本和 1 个并发差不多。 如果是 PHP 可以需要注意优化,例如 nginx + php fpm 没啥问题。 如果 apache + php 可能就不行了。 python 或 ruby 开发的也是同样道理,比 PHP 慢点, 要注意优化。 如果是 java spring boot 也要注意,性能还是比较差的,需要各种优化
operafans
2017-07-18 22:47:05 +08:00
@stabc 表述可能有误 我认为楼主所谓没有延迟就是极短时间内并发响应,而且是读数据库那种,请问 IOPS 达到这个数值有问题吗?或许我应该用 [硬件]

另外你被 deactive 了?没有收到任何提醒
stabc
2017-07-18 23:17:08 +08:00
@operafans
你想表述什么?论点?论据?
ryd994
2017-07-19 04:46:09 +08:00
你需要的不是并发 1000
而是 1000req/s
如果你要求更低的延迟,那就 1000/0.01=100000req/s 甚至更多
10ms 够“瞬间”了吧?很多时候网络延迟都超过这个数
ryd994
2017-07-19 04:48:39 +08:00
说什么都是虚的
虚拟机开个服务器测一下不就知道了
虚拟机是有损耗,但是大致估算数量级不成问题
msg7086
2017-07-19 06:38:58 +08:00
nginx 走 lua 直接访问 redis 可以轻松做到每秒数千请求。
redis 也算是数据库了吧。
meepo3927
2017-07-19 08:42:56 +08:00
需要考虑一下有没有 I/O 吧,

如果有 I/O,是数据库? redis ?其他?

毕竟内存和硬盘的速度不一样。
wenzhoou
2017-07-19 11:22:43 +08:00
这玩意儿不是论 tps 的吗?
neurocomputing
2017-07-19 12:34:38 +08:00
1000 并发“简单”请求,根本不算什么压力

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

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

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

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

© 2021 V2EX