首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉钩
V2EX  ›  程序员

web 想做一个表单,峰值 10000 人同时提交报名,报名选项含有图片上传,图片都是手机拍照原图 10M 左右一张

  •  
  •   king2014 · 272 天前 · 3333 次点击
    这是一个创建于 272 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这样的需求我需要什么配置的云服务器才可以满足要求呢?比如带宽需要多少?cpu 和内存等.求教

    第 1 条附言  ·  271 天前
    1.不能用第三方问卷表单等,因为我们要限定在我们自己 app 上报名
    2.图片尽量不要压缩,因为最后需要整理导出来拿去评奖
    3.项目内容不方便透露,不是相亲活动
    4.再次感谢谢各位回答
    52 回复  |  直到 2018-03-15 19:33:12 +08:00
        1
    wplct   272 天前
    你需要分布式
        2
    king2014   272 天前
    现在用的配置是 8 核 16g 外加三条 10M 独立运行商带宽.这样的配置可以承受吗?
        3
    king2014   272 天前
    @wplct 你好,报名表单只是针对一个市区,不会设计外市报名
        4
    brickyang   272 天前 via iPhone
    如果可以用七牛直传模式,业务服务器只需要处理页面访问,表单提交和写入数据库,一台普通服务器即可。比如 2U4G。
        5
    loading   272 天前 via iPhone
    因为应对峰值,亚马逊买了一批硬件,然后闲置了,出现 aws。

    用云吧。
        6
    king2014   272 天前
    @brickyang 我看看,这么说瓶颈在带宽这里吗?
        7
    aksoft   272 天前
    一个市区 几级?总人口有多少,还同时 10w。。
        8
    king2014   272 天前
    @loading 我打算用云,有什么推荐配置吗.本身项目周期几个月
        9
    brickyang   272 天前 via iPhone
    @king2014 #6 对,如果你不做图片处理,并不需要很多的 CPU 资源。第一是带宽,第二是本地写。

    用七牛就是把图片上传分出去,不消耗本地资源。
        10
    heybuddy   272 天前
    上传图片可以考虑上云存储如 OSS,七牛云等,不要直接往自己的服务器丢
        11
    king2014   272 天前
    @aksoft 1 万没有 10 万哦
        12
    linyinma   272 天前
    似乎需求非常不明确: 需求提到峰值 10000 并发,提到了上送图片( 10M 左右一张), 你的问题是什么配置的云服务器才能满足这样的需求: 如果仅仅是收到请求(最大 10000 ),直接 IO 到文件,只要宽带足够,根本用不到什么配置,你应该描述收到请求后,后端要做什么,数据库配置如何等等~~
        13
    king2014   272 天前
    @heybuddy 我懂了 谢谢
        14
    qiayue   272 天前
    直接把图片传到七牛云存储上面去
        15
    qiayue   272 天前
    另外,你不可能能够做到同一时刻有一万人同时上传
    一小时内有一万人上传你都成功了
        16
    king2014   272 天前
    @qiayue 嗯,好的 多谢
        17
    king2014   272 天前
    @linyinma 多谢! 收到请求后什么都不需要做,后期只要把图片导出到硬盘就行了.
        18
    jd186   272 天前
    1 核 1G 1M 都足够了吧用 OSS 直传。上传流量不计费。下载流量计费美滋滋。
        19
    crysislinux   272 天前 via Android
    这就是 aws lambda 的典型应用场景了。看看国内有这种没。
        20
    lllllllllllllll   272 天前
    10M 的请求 x 10000 个 需要处理 100g 左右的数据。假设要在 60 秒内处理完毕,网络设备 /硬盘每秒需要处理 1.6g 左右的流量 /数据量。单台服务器较难以满足需要。
        21
    likuku   272 天前
    上传嘛,aws 的 s3, 国内云的 oss 都 OK,直接在边缘让云商服务群代为扛起。
        22
    lauix   272 天前
    具体配置看你代码写的如何了,处理的好低配置(不分布式)一样可以带起来。
        23
    scriptB0y   272 天前
    google form ?
        24
    aksoft   272 天前
    @king2014 看错了,sorry。
        25
    starmoon1994   272 天前
    图片传七牛 你只存图片资源地址就好
        26
    ytmsdy   272 天前
    图片适当压缩,压缩完以后直接上传到云服务,数据库里面只存图片地址。
        27
    opengps   272 天前
    @king2014 首先图片不要直接进服务器,1m 带宽,如果不是云服务器那中下行不限速的而是 10m 下行的,传一个 10m 文件需要 10 秒。
        28
    Immortal   272 天前
    你好像对分布式有点误解
        29
    realpg   272 天前
    峰值 10000 人同时,一人 10MB 文件 就是峰值同时上传 100000MB 文件 30 秒上传一个人的 266.666Gbps 带宽采购吧……
        30
    Sapp   272 天前
    买个七牛云就行了
        31
    geek123   272 天前
    各种云都能实现基本。自己搞可能费点儿劲。
        32
    jadec0der   272 天前
    我给你算算,10000 人,每人 10MB,一共是 100000 MB,你的带宽是 3x10Mbps,上传这些照片需要的时间是 100000 * 8 / 30 = 26666s 也就是 7.4 个小时。这种大一练习题的数都算不对,建议改行。
        33
    qfdk   272 天前 via iPhone
    峰值 10000 解决很简单 限制 5 个人同时上传剩下扔去排队 做个倒计时器 还需要等待 xx 分钟上传 这样效率才高 你高并发带宽受不了的
        34
    tjsdtc   272 天前
    前端方面的优化可以先用 canvas 把图片压缩一下。
        35
    ebingtel   272 天前
    分片上传啊
        36
    qwwind   272 天前
    想把图片上传到类似于 aws s3,阿里云 oss 等,然后剩下的就是表单提交了,这里业务应该不会很复杂吧
        37
    rayc9223   272 天前 via iPhone
    找个云临时买好足够的带宽,3 条 10M 的差太远了
        38
    blessyou   272 天前 via Android
    图片网页直传 你只要存图片地址 表单的文本信息
        39
    oonnnoo   272 天前
    图片通过网页直传,丢到 oss 或其它类似存储服务,充足够多的钱,带宽、CPU 什么的根本不用管。
        40
    qinrui   272 天前 via iPhone
    请用户分时段报名
        41
    miragetu   272 天前 via iPhone
    1w 人同时提交报名,是什么这么火热?
        42
    ycz0926   272 天前
    先不说 10000,算 5000 好了,就图片上传一块,就 5000 * 10M / 1024 = 48G 内存(不知道算的对不)
    其他,5000 - 10000 的并发,简单的业务逻辑,这应该不会是大问题,
    这应该是是带宽、内存的问题
        43
    ycz0926   272 天前
    就如楼上很多同行说的,直接用 aws、七牛之类的好了
        44
    wdd2007   272 天前
    图片可以在前端压缩一下再上传。
        45
    sunchen   272 天前
    aws lambda +1
        46
    xiangyuecn   272 天前
    @loading 5 楼妥妥的没毛病

    @tjsdtc 10M 一张是应该缩小一下,手机上纯 js 能搞定,现在手机拍出来的照片文件大小是有点大了,也许我们上传要求的图片没有必要要那么宽和高,缩小一下尺寸也许 500K 就能满足要求呢
        47
    cnwtex   272 天前
    微信这么普及, 做的那么好的图片压缩功能不用...
        48
    zjcqoo   272 天前
    找些可以免费上传的接口,把图片加密后传上去。自己的服务器只接受 url 和密钥就够了 😀
        49
    night98   271 天前 via Android
    页面上传时图片压缩,大概压缩到 300kb 左右就差不多了,表单提交应该不是重点,用对象存储吧,目前这个机器足够用了。
        50
    49gd   271 天前
    这是啥报名 万人相亲大会?
        51
    fiht   271 天前
    忽然想,这个表单用腾讯云的或者是问卷星这类的是不是可行...
        52
    zoffy   271 天前
    项目是抢答类 app 吧
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1162 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 24ms · UTC 17:38 · PVG 01:38 · LAX 09:38 · JFK 12:38
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1