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

关于 discuz ,日均 2w ip 的开发需要

  •  
  •   k21654987 · 2015-07-21 10:12:54 +08:00 · 5589 次点击
    这是一个创建于 3421 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近公司想找人开发一个社区,预计日均2w ip的,请问用discuz3x怎么样?服务器选阿里云的怎么样?计划双核,2g内存,30g硬盘,带宽2m?

    我主要想问,找人做discuz的二次开发的话,应该从哪方面看出对方的实力?2w ip的话除了把服务器买好点,还需要对discuz做哪方面的优化?

    还是请人另外开发一个程序?

    我浅谈下我们公司的功能需求:
    ①社区功能,注册者能分区
    ②任务功能,注册者可以看到任务完成并提交,管理者可查看内容并选择性打赏
    ③提供教程下载
    ④注册者有自己的展示空间
    48 条回复    2015-07-22 07:53:49 +08:00
    msg7086
        1
    msg7086  
       2015-07-21 10:16:47 +08:00   ❤️ 1
    带宽2m?
    不知道你的社区的目标流量如何。我手头维护的一个5w ip的社区带宽平均开销是15m左右,高峰时段30m左右。
    hiboshi
        2
    hiboshi  
       2015-07-21 10:23:06 +08:00
    图片上七牛之类的云存储,这样带宽要求小些
    k21654987
        3
    k21654987  
    OP
       2015-07-21 10:33:19 +08:00
    @msg7086
    @hiboshi
    没下,我在想一下子不会有这么多人~先2m开始咯,这个用弹性云之类,应该随时加无问题把!?
    关键是程序方面···我不是coder,这方面不太清楚~ 0 0!
    alect
        4
    alect  
       2015-07-21 10:34:04 +08:00
    日均2W ip的话。pv肯定要超10w+,你用阿里云2M找虐么,用qiniu等破产么,社区肯定图片多,qiniu你玩不起。
    肯定考虑直接独服了,比阿里云价格有优势多了
    lincanbin
        5
    lincanbin  
       2015-07-21 10:40:20 +08:00
    20000 IP按10倍PV算,全摊到白天8小时里。
    一秒也才7个PV。
    7 Requests per second哪有社区是扛不住的?
    046569
        6
    046569  
       2015-07-21 10:42:54 +08:00
    流量不高,选最低配 ECS 即可,可选配 RDS .基本不用优化,Discuz! 的负载能力很强.
    注意下阿里的带宽陷阱就行了.
    Showfom
        7
    Showfom  
       2015-07-21 10:48:32 +08:00
    这配置足够了
    k21654987
        8
    k21654987  
    OP
       2015-07-21 10:53:18 +08:00
    @alect
    @lincanbin 感谢你们的回复


    @046569 阿里的带宽陷阱?实际理论不相符?请问知道相差多少么~

    另外我忽略了个备案问题……备案期间··网站咋整···
    wy315700
        9
    wy315700  
       2015-07-21 10:58:25 +08:00
    @lincanbin 关键是高峰期,不能平摊的。。。
    046569
        10
    046569  
       2015-07-21 11:04:42 +08:00
    @k21654987
    实际和理论当然是相符的.
    陷阱指的是带宽阶梯价,超过 5M 就会很贵.做负载均衡就行了.如果公司没有运维,外包即可,注意不要先买服务器,由运维确定具体配置.
    你说的功能,目前 Discuz! 都自带了,所以不建议二次开发.
    wy315700
        11
    wy315700  
       2015-07-21 11:09:11 +08:00
    @046569

    2个5M的提供的服务比一个10M的差多了。最基本的 延迟就会高一倍
    046569
        12
    046569  
       2015-07-21 11:11:09 +08:00
    @wy315700
    愿闻其详.
    ohhe
        13
    ohhe  
       2015-07-21 11:11:56 +08:00
    2万IP用阿里云我估计双核,2g内存,带宽4m差不多正好
    pubby
        14
    pubby  
       2015-07-21 11:19:30 +08:00
    @wy315700 为什么延迟会高一倍
    xuxu
        15
    xuxu  
       2015-07-21 11:21:37 +08:00
    实际操作经验: 8核,8G内存,4块硬盘(log,附件,备份,其它),带宽30M左右。这个量数据库不能用阿里云机器自己搭本机上(IO效果你自己看),放RDS上可以。
    alect
        16
    alect  
       2015-07-21 11:22:03 +08:00   ❤️ 1
    我一个wordpress做的网站,因为主题自带的css和js文件比较多,每日ip 3w,pv大约9万,用的阿里云,高峰期5M跑满,均速3M的样子,图片什么的都是外链,就这样都勉强够用啊。看来楼主是没有遇到过真实环境,这点儿带宽真不够的,万一有什么热点帖子出来,分分钟卡死你了。
    wy315700
        17
    wy315700  
       2015-07-21 11:32:33 +08:00
    @046569
    @pubby

    延迟 = 1 / (提供的宽带 - 实际需要的宽带)
    等会找找这个理论叫什么

    因为每个用户实际需要的宽带是一定的

    比如 你虽然是两个5M,但是每个用户只能连一个进行服务。

    所以延迟会比一个10M高一倍左右
    jasontse
        18
    jasontse  
       2015-07-21 11:35:37 +08:00 via iPad
    预计 2w ip 实际 100 ip 都没有
    k21654987
        19
    k21654987  
    OP
       2015-07-21 11:50:10 +08:00
    @alect wp的站能发来看看么~
    k21654987
        20
    k21654987  
    OP
       2015-07-21 11:51:45 +08:00
    @046569 对···还是外包算了,只有小网站的经验····自己弄一身蚁
    k21654987
        21
    k21654987  
    OP
       2015-07-21 11:52:44 +08:00
    @xuxu 我还是决定外包好了~想问问,怎么观察外包的水平
    pimin
        22
    pimin  
       2015-07-21 12:07:47 +08:00 via iPhone
    如果只是个dz论坛,完全没有必要考虑太多。
    按你自己的想法跑起来,遇到问题解决问题。
    因为外包和自己搞基本上差不多,并不能一次到位解决所有问题。
    046569
        23
    046569  
       2015-07-21 12:18:30 +08:00
    @Livid 一刷新尚未发出的帖子内容木有了,再打一次真心累啊. Chrome 现在总是傻乎乎的.

    @wy315700
    你说的理论是正确的,但过于简单化,实际情况要更复杂.
    尤其是你假定了瓶颈是带宽并且是服务器这边.
    预估服务器带宽的因素很多,我只说说瓶颈是带宽的简单情况:
    当服务器单台带宽大于用户带宽,那么无论服务器带宽多少都不会影响到访客浏览体验,因为瓶颈是访客的带宽.
    当服务器单台带宽小于用户带宽但多台服务器总带宽大于用户带宽,那么可以利用网站架构和服务器负载均衡策略,实现动静分离,瓶颈仍然是访客带宽.你所说的"每个用户只能连一个进行服务"是不准确的.
    其它情况从略.

    @k21654987
    我画了个根据今天阿里云 ECS 年报价的示意图(最低配,仅带宽变化),



    可以明显看到带宽超过 5M 价格以后每 M 价格差不多变成了 2.8 倍,因此两台 5M 比单台 10M 更具性价比,且用户体验没有明显影响.
    外包是否靠谱可以从专业度,态度,工作经历等一系列因素考量.有兴趣的话我们可以聊聊.
    msg7086
        24
    msg7086  
       2015-07-21 12:33:00 +08:00
    @wy315700 没听说过你这种理论。
    两台机器做负载均衡,直接结果就是每台机器「实际需要的带宽」减半。

    100个用户连接一台2M带宽的机器,与200个用户连接两台2M带宽的机器,你跟我说延迟会加倍?别闹啊……
    alect
        25
    alect  
       2015-07-21 12:43:22 +08:00
    @k21654987 看我个人资料有
    wy315700
        26
    wy315700  
       2015-07-21 12:54:35 +08:00
    @msg7086
    排队论基本理论
    Little's law
    https://en.wikipedia.org/wiki/Little%27s_law

    不是你这么比方的,是100个用户连一台4M的机器,平均延迟是100个用户连两台2M的机器的一半。



    @046569
    也不是这样的,算的是平均延迟,
    首先假设瓶颈在服务器,因为用户端的瓶颈其实是降低服务器负载的方法,所以假设这个地方没有限制
    最简单的计算,
    比如服务器一秒能提供2M数据,用户单次访问需要200K,那么传输时间就是1/10S,如果服务器一秒能提供4M数据,那么传输时间就是1/20S,

    分布式只是因为单台机器的负载无法继续提升之后的选择。
    比如你把一台机器的性能提升一倍,很难,但是你再买一台机器,很简单。
    但是一台X2的机器提供的服务,质量明显要高于两台X1的机器。
    pubby
        27
    pubby  
       2015-07-21 13:01:41 +08:00
    @wy315700 嗯单用户需要10M并且能持续跑满才会你说的情况。

    这边4台ECS 5M ,日均pv 300w 带宽上没有问题(图片资源另外走cdn),高峰期短时间升级流量也不贵。
    boter
        28
    boter  
       2015-07-21 13:05:42 +08:00 via Android
    做社区,,,两万IP难度可是相当大 ,v2ex也就这个程度
    msg7086
        29
    msg7086  
       2015-07-21 13:26:43 +08:00 via Android
    @wy315700 所以影响的是加载速度。而且只有在带宽没跑多少的情况下才能体现差距。
    wy315700
        30
    wy315700  
       2015-07-21 13:33:05 +08:00   ❤️ 1
    @msg7086
    还是没看懂,
    负载越大,延迟也会越高。

    这个负载不仅仅是带宽,
    也可以是机器的负载。

    同样架构,两个1GH的核心提供服务,平均延迟是一个2GH核心提供服务的两倍。
    Davidwg
        31
    Davidwg  
       2015-07-21 14:12:23 +08:00
    dz二次开发,看你想要什么样的了
    Kael
        32
    Kael  
       2015-07-21 14:25:15 +08:00
    单纯论坛功能没什么特别需要优化的,dz应付2w IP还是很轻松的,那些百万IP的都没听说怎么优化过。
    k21654987
        33
    k21654987  
    OP
       2015-07-21 14:39:41 +08:00
    @046569 怎么联系?珠海的?
    @wy315700
    感谢你们的回答
    k21654987
        34
    k21654987  
    OP
       2015-07-21 14:43:14 +08:00
    @alect 果然很河蟹
    DreamCMS
        35
    DreamCMS  
       2015-07-21 14:48:12 +08:00
    discuz 专业开发找我,原comsenz开发组,qq:1三八yi77散散吧
    levon
        36
    levon  
       2015-07-21 14:51:52 +08:00 via Android
    等做到的时候再考虑可以
    lincanbin
        37
    lincanbin  
       2015-07-21 14:57:41 +08:00 via Android
    https://v2ex.com/t/207154#reply25
    顺便推荐下我自己的程序,性能虽然十倍于DZ,但是熟悉这个二次开发的人应该不多。
    k21654987
        38
    k21654987  
    OP
       2015-07-21 15:18:51 +08:00
    @DreamCMS qq写错了?
    DreamCMS
        39
    DreamCMS  
       2015-07-21 15:20:35 +08:00
    @k21654987 你多少 我加你
    k21654987
        40
    k21654987  
    OP
       2015-07-21 16:11:54 +08:00
    @DreamCMS 二8漆8贰玲4Ⅱ1
    046569
        41
    046569  
       2015-07-21 16:50:28 +08:00
    @wy315700
    还是上面的问题,你说的是理论中的理想情况,而非现实.
    现实中的情况是:
    由于浏览器同一时间针对同一域名的并发请求数是有限制的,超过限制就会阻塞,所以高负载的网站会单独分离静态资源至其它域名.
    关键的问题在于:
    可以让用户同时链接多台服务器并利用带宽.用户访问页面并不是下载单独的一个文件,分流是易于操作的.
    基于使用阿里云的前提下,多台 ECS 是更经济的方案.

    @k21654987

    发邮件可获得更多联系方式.
    wy315700
        42
    wy315700  
       2015-07-21 16:56:38 +08:00
    @046569
    延迟计算是针对单次请求来的,
    你一个HTTP请求只能请求一台服务器。
    如果每个请求延迟都X2,那么总延迟肯定是X2的。

    所谓同时请求多个服务器,只不过是把原来串行的两个X1的请求变成了两个并行的X2的请求。

    所谓分布式也好,动静分离也好,都是在单个机器的负载无法继续增加的情况下才做出的选择,如果有一台超级计算机,带宽无穷大,那么就不需要这么多问题了。
    046569
        43
    046569  
       2015-07-21 17:24:20 +08:00
    @wy315700
    理论上说,用户浏览一个页面包含不止一次请求,因此并行是有意义的.
    实际上说,现实中用户是没有超算的,现实中用户是要考虑投入与产出的,现实中的管理人员也不会仅仅因为微乎其微的理论值差异而放弃安全上的考量的.
    我推荐这种方案的原因并非是这种方式更快,而是更适合 LZ 的情况.
    frankzeng
        44
    frankzeng  
       2015-07-21 18:13:46 +08:00 via Android
    程序还没有就能估计流量?先把东西做上去,边开发边优化才是正道。等你把菜都找齐了客人早跑了
    lxx1
        45
    lxx1  
       2015-07-21 18:57:18 +08:00
    我感觉没必要讨论、计算的这么清楚啊,先基本配置跑着呗,等流量上去了再升级服务器、带宽也不迟啊!
    abakane
        46
    abakane  
       2015-07-21 21:54:51 +08:00   ❤️ 1
    个人实测 discuz x3.2
    日均2w ip 平均在线120+
    lnmp memcached 伪静态 +百度加速运
    2核 4g内存 带宽用了不到5m。负载0.1左右
    @frankzeng 严重同意。
    Huadb
        47
    Huadb  
       2015-07-21 22:33:35 +08:00
    等网站达到日均2W的时候再考虑配置问题吧,现在只是预想,到时候升级。
    virusdefender
        48
    virusdefender  
       2015-07-22 07:53:49 +08:00
    跑起来再说啊 云计算就是为了为了用弹性修改配置的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1187 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 18:06 · PVG 02:06 · LAX 10:06 · JFK 13:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.