V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
imcx15
V2EX  ›  问与答

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

  •  
  •   imcx15 · 2017-07-18 21:03:57 +08:00 · 5503 次点击
    这是一个创建于 2475 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    这种需求不正好上 CDN 吗?
    lightening
        9
    lightening  
       2017-07-18 22:13:38 +08:00 via iPhone
    什么叫同时啊?真正“同时”的话,服务器至少得要 1000 个核心吧?
    jinwyp
        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 也要注意,性能还是比较差的,需要各种优化
    operafans
        11
    operafans  
       2017-07-18 22:47:05 +08:00
    @stabc 表述可能有误 我认为楼主所谓没有延迟就是极短时间内并发响应,而且是读数据库那种,请问 IOPS 达到这个数值有问题吗?或许我应该用 [硬件]

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

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

    毕竟内存和硬盘的速度不一样。
    wenzhoou
        17
    wenzhoou  
       2017-07-19 11:22:43 +08:00 via Android
    这玩意儿不是论 tps 的吗?
    neurocomputing
        18
    neurocomputing  
       2017-07-19 12:34:38 +08:00
    1000 并发“简单”请求,根本不算什么压力
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3174 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 00:43 · PVG 08:43 · LAX 17:43 · JFK 20:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.