V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
doufenger
V2EX  ›  Linux

是 Discuz 程序的问题吗,我换多少核 CPU 的服务器感觉都不够用

  •  
  •   doufenger · 2017-03-26 12:39:33 +08:00 · 5930 次点击
    这是一个创建于 2826 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原来 4 核不够用,换到 6 核,然后 6 核高峰时也不够用换 8 核,现在 8 核高峰时 CPU 也 99%了,虽然访客增加了但是同时在线房客并没有增加多少啊,百度统计也只是显示 100 个而已。。为什么 CPU 总不够用。对了是用mmtrix.com监测到的99%,不是系统本身,系统本身监测到的是800%左右了。

    第 1 条附言  ·  2017-05-15 17:04:19 +08:00
    已找到大佬帮搞了
    40 条回复    2017-05-15 12:04:38 +08:00
    jsq2627
        1
    jsq2627  
       2017-03-26 12:42:53 +08:00   ❤️ 1
    我这边每天 PV 40W ,百度统计在线访客保持 150 左右,但是双核服务器就够用了呀
    看看是不是什么插件没做好优化。另外升级 php7 效果显著。
    jsq2627
        2
    jsq2627  
       2017-03-26 12:44:34 +08:00   ❤️ 1
    对了,数据库是用的腾讯云 CDB ,所以应用服务器上没有数据库压力
    doufenger
        3
    doufenger  
    OP
       2017-03-26 12:46:11 +08:00
    @jsq2627 我的看进程就是数据库 mysqld 进程占 CPU 很高
    aru
        4
    aru  
       2017-03-26 12:48:54 +08:00 via iPhone
    检查是不是超多的数据库连接。
    大负载的时候登录到 mysql ,用 show processlist 看看进程,检查数据库慢查询
    ivmm
        5
    ivmm  
       2017-03-26 12:51:40 +08:00
    有用 Memcached 或 Redis 这样的 KV ?
    jsq2627
        6
    jsq2627  
       2017-03-26 12:51:57 +08:00
    @doufenger 是跑在哪家云?还是托管的机器?
    doufenger
        7
    doufenger  
    OP
       2017-03-26 12:52:29 +08:00
    @jsq2627 linode 的 VPS
    doufenger
        8
    doufenger  
    OP
       2017-03-26 12:52:53 +08:00
    有用 Memcached
    jsq2627
        9
    jsq2627  
       2017-03-26 12:57:55 +08:00
    @doufenger 猜测瓶颈可能在磁盘上面?
    aru
        10
    aru  
       2017-03-26 12:59:14 +08:00 via iPhone
    @doufenger 你用 linode 的 vp   s ,腾讯云的数据库跑这个论坛?
    doufenger
        11
    doufenger  
    OP
       2017-03-26 13:02:29 +08:00
    @aru 。。 不是 数据库就跑在 VPS 上。 我刚查了查, 估计就是被数据库拖慢了的。 现在看看怎么移到云数据库
    doufenger
        12
    doufenger  
    OP
       2017-03-26 13:02:50 +08:00
    @jsq2627 数据库就跑在 VPS 上。 我刚查了查, 估计就是被数据库拖慢了的。 现在看看怎么移到云数据库
    aru
        13
    aru  
       2017-03-26 13:05:50 +08:00 via iPhone
    @doufenger
    你应该考虑优化 mysql 参数,增加索引,优化 sql 查询
    jsq2627
        14
    jsq2627  
       2017-03-26 13:27:56 +08:00
    @aru discus 本身优化已经很到位了。除非用了第三方插件可能优化不佳。
    istark
        15
    istark  
       2017-03-26 13:32:57 +08:00
    你可以考虑下转到 phpwind fans 版本,这个一个牛 B 死忠粉开发者做的,框架转到 laravel ,后续会有手机客户端。
    https://github.com/medz/phpwind
    doufenger
        16
    doufenger  
    OP
       2017-03-26 14:09:08 +08:00
    @jsq2627 可能是,我用了一个可能每秒都在实时更改多个帖子排序的插件
    msg7086
        17
    msg7086  
       2017-03-26 15:35:58 +08:00   ❤️ 1
    我这论坛每天 PV 至少也几十万了, PHP 5.x 用双核妥妥跑下来。 DZ 本身还是很省资源的。
    ToughGuy
        18
    ToughGuy  
       2017-03-26 15:57:43 +08:00
    @jsq2627

    你 DZ 数据库放腾讯云怎么处理 InnoDB 的, 好像腾讯云并不支持 MyISAM 。再者目前 Discuz 支持得了 php7 吗。

    想知道你是怎么弄的。
    Benisme
        19
    Benisme  
       2017-03-26 16:07:13 +08:00
    @ToughGuy 官方有出过一个 InnoDB 的扩展,另外 3.3 已经支持 7.0 了
    beyoung
        20
    beyoung  
       2017-03-26 16:40:19 +08:00 via iPhone
    @msg7086 啥论坛 发下地址啊
    beyoung
        21
    beyoung  
       2017-03-26 16:40:46 +08:00 via iPhone
    @jsq2627 地址发来膜拜一下
    GoBeyond
        22
    GoBeyond  
       2017-03-26 16:43:46 +08:00 via Android
    你需要分析性能瓶颈在哪里,然后再决定怎么优化,而不是疯狂的堆配置
    zktz
        23
    zktz  
       2017-03-26 16:45:21 +08:00
    不知道你啥环境,我有个朋友用家里笔记本开的。 centos 7 , php-fpm56 这个进程经常占满 cpu 不释放。没空给他查,就弄了一个每 4 小时 重启 Php-fpm
    jsq2627
        24
    jsq2627  
       2017-03-26 17:01:11 +08:00
    @ToughGuy 用腾讯云 MySQL 5.5 ,可以正常用 MyISAM 。因为论坛历史比较久,数据库很大,一直没有考虑过迁移 InnoDB 。另外 DZ3.3 已经支持 PHP 7 了,追求新版可以去 https://git.oschina.net/ComsenzDiscuz/DiscuzX 直接下载最新分支来用。
    jsq2627
        25
    jsq2627  
       2017-03-26 17:04:59 +08:00
    @zktz 我现在也是 php-fpm 每隔一段时间就死锁, top 里面能看到进程,但是处理不了新请求。现在也是在 crontab 里面加了检测到挂掉自动重启。
    ToughGuy
        26
    ToughGuy  
       2017-03-26 17:12:07 +08:00   ❤️ 1
    @jsq2627


    php-fpm 死锁这个问题很头疼, 请求量大的网站经常会死掉。 不过换 Apache 后就不在有这个问题了, 部署 Discuz 推荐 nginx + apache 做动静分离, 效率会高很多。
    zsx
        27
    zsx  
       2017-03-26 17:49:35 +08:00
    我看了一下,我们是 CDB MySQL 5.6 + PHP 7.1 + InnoDB + utf8mb4 + APCu (原来是 MySQL 5.1 + MyISAM + gbk ,升级文章见: https://blog.zblogcn.com/2017/02/02/88/ ),目前运行效果良好,只是在访问某些页面的时候 error.log 会刷出一大堆 PHP Warning ,提给论坛没人修(
    vus520
        28
    vus520  
       2017-03-26 18:36:21 +08:00
    4 核 4G 的普通机器,加点缓存,每天可以抗百万的访问量
    dai269619118
        29
    dai269619118  
       2017-03-26 18:59:03 +08:00
    一般的瓶颈在 msyql 上面
    高峰期的时候看下哪些执行的 sql 锁表了
    call43848
        30
    call43848  
       2017-03-26 19:04:39 +08:00
    @jsq2627 你的网站的在线会员已经完爆这个网站了,厉害,感谢分享 也就是说本网站就一个双核服务器就可以跑起来了,不错^^
    huage
        31
    huage  
       2017-03-26 23:15:31 +08:00
    我虽然没有多少经验,但是觉得应该也是 SQL 连接多过的问题,没有及时关闭
    huage
        32
    huage  
       2017-03-26 23:19:01 +08:00
    @istark 这个牛逼
    akira
        33
    akira  
       2017-03-27 00:07:18 +08:00
    dz 是有性能问题的。具体问题具体分析吧,或者找人帮你做优化。
    mytsing520
        34
    mytsing520  
       2017-03-27 00:13:44 +08:00
    查下访问日志,应该会有很多国外 IP 爆破的记录
    atnopc
        35
    atnopc  
       2017-03-27 01:09:27 +08:00
    曾经做过一个基于 discuz6.1 的 wg 论坛,活跃同时在线 1000 左右
    也没啥优化过,也是一台服务器跑 web 和数据库,高峰时 cpu 也才 60-70(不太记得配置了,09 年左右,应该最多 4 核的服务器)
    后面基本没玩过论坛了,现在怎么 8 核跑百人就要死了,感觉不正常
    msg7086
        36
    msg7086  
       2017-03-27 02:48:19 +08:00   ❤️ 1
    @beyoung lknovel
    my101du
        37
    my101du  
       2017-03-27 08:25:15 +08:00
    之前遇到过,把 PHP-FPM 配置文件里的那个 timeout 字样的参数打开记录跟踪下,可能是某些“抽取一部分满足条件的特殊帖子进行排序”的调用导致的。(这个配置打开后,日志文件里可以看到一些 odrer 字样,还有 forum id ,基本上可以定位了)
    如果没有这些个性化的东西,纯粹的 discuz 原版,做好 Memcache 、 MySQL 索引基本上没什么问题。
    jhdxr
        38
    jhdxr  
       2017-03-27 10:39:40 +08:00   ❤️ 1
    discuz 如果你全用默认配置的话,性能上应该是没问题的。但一些小改动很可能就带来了问题,例如我之前做过的一次优化,客户就是把某个版块的默认排序方式改了,然后 discuz 默认的索引却没有覆盖这种情况。还有就是各种插件,很多插件的质量(从各方面来说)都是惨不忍睹_(:з」∠)_
    既然你已经确定瓶颈在 MySQL 上的话,可以先开个慢日志看看。直接迁移云数据库并不能解决你这个问题的。。。
    doufenger
        39
    doufenger  
    OP
       2017-03-27 15:21:59 +08:00
    @jhdxr 唔 谢谢提供的思路
    doufenger
        40
    doufenger  
    OP
       2017-05-15 12:04:38 +08:00
    @jsq2627 @aru @jhdxr 几位大大哪位有时间解决一下这问题吗? 预算几千元 这样。。 觉得合适直接联系我吧。 QQ 或邮箱 271941525
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2781 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:23 · PVG 19:23 · LAX 03:23 · JFK 06:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.