帮我看下这些日志吧好心人 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
hoythan
V2EX    Linux

帮我看下这些日志吧好心人

  •  
  •   hoythan 2016-03-08 10:10:41 +08:00 15796 次点击
    这是一个创建于 3512 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是昨天发帖子说:救命,我可能要被老板砍死了。的那位。我经过一天的尝试,基本已经刨除了带宽的问题。因为现在网站的图片内容都已经在云上依旧是会卡的。
    而且在深夜 3 点也会死机。我今天拿出了服务器的日志文件,求大家帮我看看 。跪谢了

    服务器环境是 php7 和 mysql5.7 4GB 4MB 独立带宽的阿里云 4 核服务器。

    另外我发誓一分积分没赚,不论是吐槽还是帮忙的所有人我都点了感谢。跪谢跪谢,不然就真的死了。已经被点名批评。

    http://pan.baidu.com/s/1qXrUhGg

    yr6t
    109 条回复    2016-03-10 09:59:55 +08:00
    1  2  
    mhycy
        1
    mhycy  
       2016-03-08 10:16:06 +08:00   2
    我觉得你直接找个人给你排查还更快一些。。
    或者自己尝试把应用搬到别的机器进行测试。。
    hoythan
        2
    hoythan  
    OP
       2016-03-08 10:18:42 +08:00
    网站正常的时候,访问是非常非常快的,基本上 0.45 秒加载完毕,但是卡的时候就坑爹了, 10 分钟都可能进不去!
    ![未命名.JPG]( https://ooo.0o0.ooo/2016/03/07/56de3790bb384.jpg)
    dark456852
        3
    dark456852  
       2016-03-08 10:21:34 +08:00   1
    老板不是应该要请个运维的吗?
    mhycy
        4
    mhycy  
       2016-03-08 10:21:51 +08:00   1
    @hoythan
    那么现在的问题是:
    环境反应没问题,探针加载极其迅速,但是应用上线以后在一段时间过后会出现等待时间极长的问题。

    这样?
    jarlyyn
        5
    jarlyyn  
       2016-03-08 10:25:18 +08:00   1
    不看代码看日志有啥意思……

    几个问题

    1.php 的 opcache 开了没有。

    2.首页之类的页面,程序里有没有启用合适的缓存。

    3.数据库有没有相应的索引优化。

    一般这三点都做了,就只剩下业务逻辑的问题来了吧?
    mhycy
        6
    mhycy  
       2016-03-08 10:26:37 +08:00   1
    现在等待时间 500-600ms 还算正常
    yangqi
        7
    yangqi  
       2016-03-08 10:28:16 +08:00   1
    你发 access.log 有什么用

    另外一个贴有人说过了,你图片优化太烂了,一个头像图片都要 110K 了,随便一个页面就要 3 , 4MB 大小。再加上小水管访问的人多了肯定不行。很多连接都要等待长时间下载图片,如果 nginx 配置的连接数太小的话,新连接就要等。基本肯定和 php 和 mysql 没什么关系,带宽和 nginx 的配置

    网站的图片还是在 wp-content/uploads 里面,怎么跑云上了
    lynnworld
        8
    lynnworld  
       2016-03-08 10:31:08 +08:00   1
    nginx 的日志把 request_time 和 upstream_response_time 记录下来。然后看是具体哪个请求会慢。
    hoythan
        9
    hoythan  
    OP
       2016-03-08 10:34:05 +08:00
    @mhycy 是的没错。

    我现在在这个日志里看到了大量的

    *2 connect() to unix:/tmp/php-cgi.sock failed (2: No such file or directory)
    @yangqi
    abscon
        10
    abscon  
       2016-03-08 10:35:09 +08:00   1
    “另外我发誓一分积分没赚”当然大家也没赚一分钱工资不是么……

    我觉得真正的好心人不应该帮你解答。分类讨论两种可能

    1. 你经过自己的努力能解决问题
    2. 你经过自己的努力,不能解决问题

    对于情况 1 ,帮你的话你会形成依赖,有什么问题就发到网上众筹,而不是尝试通过学习提高自身姿势水平
    对于情况 2 ,还是转行为妙,否则好心人帮了你的话,对你老板或者对网站的用户来说就不是好心人。

    当然江湖救急除外
    mhycy
        11
    mhycy  
       2016-03-08 10:37:34 +08:00   1
    @abscon
    说实在的,无论一二,现在的问题是对于外界而言信息不足。想帮都没法帮。。。
    hoythan
        12
    hoythan  
    OP
       2016-03-08 10:37:42 +08:00
    @abscon 我研究了一晚上,人都要 sb 掉了。我解决不了这个问题啊。
    现在我备用方式是再买一台服务器安装低版本的 php 和 mysql 再切换过去,但是我担心还是出现这样的问题。
    zeac
        13
    zeac  
       2016-03-08 10:38:41 +08:00   1
    前段时间曾经遇到过这种事,同样的系统,在测试服务器上久的时候要等将近 10 分钟,快的话也要 2 分钟才打开,但是到本地只要 1 分钟左右,

    找了两天原因,各种调试,最后用 Xdebug 跟踪发现是一个 curl_exec()等待太久,

    建议如果是 PHP 问题,你可以考虑用 Xdebug 分析下到底慢在哪,如果是静态资源文件拖慢的,上一贴已经很多人给出了解决方案
    bk201
        14
    bk201  
       2016-03-08 10:41:08 +08:00   1
    你这信息太少没法帮忙,上个帖子都有人说了。基本上有什么数据都应该拿出来,服务器系统占用等等。
    mhycy
        15
    mhycy  
       2016-03-08 10:43:19 +08:00   1
    @hoythan
    结合错误日志, ab 压力测试
    别的不知道,至少知道一件事:你的数据库配置有问题
    Liang
        16
    Liang  
       2016-03-08 10:44:35 +08:00   1
    建议先将图片都 404 ,排查一下。
    likuku
        17
    likuku  
       2016-03-08 10:47:23 +08:00   1
    一个页面 3M~4M 。。。配合 4M 小水管,只有呵呵了。
    surfire91
        18
    surfire91  
       2016-03-08 10:50:13 +08:00   1
    这会 500 了
    愿意给服务器权限和源码,可以帮你看看
    Infernalzero
        19
    Infernalzero  
       2016-03-08 10:50:37 +08:00   1
    进 mysql,SHOW FULL PROCESSLIST 看一下当前哪些 sql 语句有问题
    如果你有几张表数据量比较大的话,查询语句不当很有可能直接搞跪
    另外,看了下你的 nginx 错误日志以及内存占用高的情况,试试在 location 模块中添加这个配置后重启试试
    proxy_buffering off;
    WangYanjie
        20
    WangYanjie  
       2016-03-08 10:51:20 +08:00   1
    访问地址呢?死机是什么意思?
    zakokun
        21
    zakokun  
       2016-03-08 10:54:56 +08:00   1
    你不是平面设计师吗...为什么要写代码甚至搞运维??
    mhycy
        22
    mhycy  
       2016-03-08 10:55:52 +08:00   1
    建议:
    1 、检查 PHP-FPM 配置
    2 、检查 MySQL 配置

    具体项目都是子进程连接数等并发处理能力相关的部分。
    刚刚的某几个无法访问是我用 ab 压出来的, 10 个并发挂掉(响应速度不到 10 个)
    测试目标地址就是首页
    lairdnote
        23
    lairdnote  
       2016-03-08 10:59:52 +08:00   1
    需要有偿的协助不?
    lxf1992521
        24
    lxf1992521  
       2016-03-08 11:04:47 +08:00   1
    建议楼主付费请人解决;
    或者建议领导找个运维人员吧
    likuku
        25
    likuku  
       2016-03-08 11:07:50 +08:00   1
    @zakokun [你不是平面设计师吗...为什么要写代码甚至搞运维??]我身边就有活生生的例子...
    hoythan
        26
    hoythan  
    OP
       2016-03-08 11:08:16 +08:00
    @Infernalzero
    数据库是普通的 wordpress 数据库,容量大概只有 30mb 左右。

    @mhycy
    PHP-FTM 配置:

    [global]
    pid = /usr/local/php/var/run/php-fpm.pid
    error_log = /usr/local/php/var/log/php-fpm.log
    log_level = notice

    [www]
    listen = /tmp/php-cgi.sock
    listen.backlog = -1
    listen.allowed_clients = 127.0.0.1
    listen.owner = www
    listen.group = www
    listen.mode = 0666
    user = www
    group = www
    pm = dynamic
    pm.max_children = 150
    pm.start_servers = 20
    pm.min_spare_servers = 6
    pm.max_spare_servers = 30
    request_terminate_timeout = 100
    request_slowlog_timeout = 5
    slowlog = var/log/slow.log

    mysql 怎么查看配置是否正常?

    如果上淘宝找人解决的话,我应该搜索什么关键词?
    ershisi
        27
    ershisi  
       2016-03-08 11:08:32 +08:00   1
    图片还都在本地。没有在云上。
    这么看性能压力应该在服务器这一块,你调优一下 php 配置。然后调优一下 mysql 连接数和短连接。
    ToughGuy
        28
    ToughGuy  
       2016-03-08 11:08:44 +08:00   1
    给服务器 ssh 可以上去帮你分析下。
    hoythan
        29
    hoythan  
    OP
       2016-03-08 11:10:55 +08:00
    @lairdnote
    @lxf1992521

    请问有偿大概多钱?整个网站自己制作加一切配制我也才赚了 2000 块。如果太多我肯定承受不了。
    murusu
        30
    murusu  
       2016-03-08 11:14:40 +08:00   1
    确认你的机子没被人种马吗?
    我看到大量形如
    GET /p.php?act=rt&callback=jQuery1706147779076103181_1457315390893&_=1457316450363
    的访问
    lairdnote
        31
    lairdnote  
       2016-03-08 11:15:31 +08:00   1
    哎。。。才赚 2000 阿。。。算了。。无偿吧。。。你 qq 多少
    hoythan
        32
    hoythan  
    OP
       2016-03-08 11:16:04 +08:00
    @murusu 不是吧,但是网站目录下没有看到这个文件呀?
    hoythan
        33
    hoythan  
    OP
       2016-03-08 11:16:41 +08:00
    @lairdnote 11222344 感谢
    demo
        34
    demo  
       2016-03-08 11:17:07 +08:00   1
    楼主可以用 Xdebug + WebGrind 分析下
    murusu
        35
    murusu  
       2016-03-08 11:18:25 +08:00   1
    @hoythan 你去翻翻 access 的记录,最后那里一大段都是这样的访问
    lairdnote
        36
    lairdnote  
       2016-03-08 11:18:31 +08:00   1
    加了 @hoythan 6300623**
    lux182
        37
    lux182  
       2016-03-08 11:19:11 +08:00
    我觉得可能是 IO 问题,或是 tcp 端口占用未释放,导致端口开太多卡死
    mhycy
        38
    mhycy  
       2016-03-08 11:19:42 +08:00   1
    @hoythan
    其实,要是你愿意放多点信息,估计很多人无偿都愿意给你搞。。

    其实现在思路感觉挺明确的:
    首先,排查 PHP-FPM 问题,在运行过程中 HTOP 查看是否进程数过多造成瓶颈(处理完了没释放)。
    接着,排查 MYSQL 的连接问题,看多连接并发是否会阻塞或者断掉。

    这两点先行排查。
    不管有没有问题把过程放出来。
    这样至少能知道你现在的排查状态,也能在提问中体现出自身的努力。
    mhycy
        39
    mhycy  
       2016-03-08 11:20:10 +08:00   1
    @murusu
    p.php 是他自己的探针
    hoythan
        40
    hoythan  
    OP
       2016-03-08 11:22:27 +08:00
    @demo
    @mhycy
    @lux182
    @lairdnote
    @murusu
    @demo

    其实我只是一个前端设计师,这些我真的不理解,我通宵一天了,我好累,请问我要从哪些资料入手,拜托大家了,问题解决了给大家发红包。
    Infernalzero
        41
    Infernalzero  
       2016-03-08 11:22:59 +08:00   1
    @hoythan
    你这点访问量和 mysql 配置关系不大,而且只有这点数据量的话那慢 sql 的可能性不大了,不过你还是应该登进去确认下当前数据库的情况啊,看看当前所有查询耗时多久

    鉴于你阿里云的配置比较低而且内存占用高, nginx 的 buffering 关掉看看效果
    mhycy
        42
    mhycy  
       2016-03-08 11:23:22 +08:00   1
    @hoythan
    把 QQ 加上再说。。
    aldnoah
        43
    aldnoah  
       2016-03-08 11:25:41 +08:00   1
    感觉信息不够啊。
    lux182
        44
    lux182  
       2016-03-08 11:28:21 +08:00   1
    div class="reply_content">@hoythan netstat -a 看看端口占用情况
    czzhengkw
        45
    czzhengkw  
       2016-03-08 11:30:08 +08:00   1
    oneapm ,能看出大部分问题,包括 curl_exec(),慢查询, session 锁等问题……
    BOYPT
        46
    BOYPT  
       2016-03-08 11:30:45 +08:00   1
    是 wordpress 吧?三管齐下:
    1.使用缓冲插件,先试试 w3total cache, 效果应该立竿见影的
    2.查看 mysql slow log, 找出慢查询,但通常都是 wp 自身的查询,在 w3 的缓存下理论上会减少的
    3.查看 php 的 slow log ,一般会爆出慢调用栈,贴出 log 让其他人帮你看
    hoythan
        47
    hoythan  
    OP
       2016-03-08 11:33:39 +08:00
    @BOYPT 如果是正常状态的话,网站打开速度非常快, lairdnote 正在帮我查看问题,如果解决了,我把原因和方法贴出来给大家。
    murusu
        48
    murusu  
       2016-03-08 11:34:17 +08:00   1
    @hoythan 看了 nginx 的记录,先从 PHP-FPM 去查是正路,按 @mhycy 说的去做吧
    mahone3297
        49
    mahone3297  
       2016-03-08 11:40:31 +08:00   1
    前端设计师接了后端的活?
    我觉得 lz 还是找专人看吧,也不需要淘宝找,就在这里找吧,不是也有人加你了嘛。
    大家说的,图片的问题, lz 应该已经解决了吧?
    hoythan
        50
    hoythan  
    OP
       2016-03-08 11:41:16 +08:00
    @mahone3297 图片问题已经解决,现在已经排除到数据库问题了。感谢大家
    jarlyyn
        51
    jarlyyn  
       2016-03-08 11:44:11 +08:00   1
    另外给个建议。

    换 apache 环境。

    如果上面问题都解决的话,感觉有可能问题是处在 php-fpm 或者 nginx 上。

    4g ,这点访问量,跑 apache 问题不大
    mahone3297
        52
    mahone3297  
       2016-03-08 11:45:45 +08:00   1
    @hoythan 数据库刚才好像看到你说什么 30m ,你的数据库和应用是在同一台机器上的么?
    考虑配一个 rds ?虽然我不确定是数据库的问题,但这样,至少基本能排除数据库的问题。
    fenghua1013
        53
    fenghua1013  
       2016-03-08 12:03:01 +08:00   1
    你的服务器 cpu 负载太高了
    检查一下进程
    npc0der
        54
    npc0der  
       2016-03-08 12:07:34 +08:00   1
    把 php-cgi.sock 定到 /dev/shm/ 下面看看 另外 你可以在终端下 看下 是不是磁盘 io 过高导致的。
    hoythan
        55
    hoythan  
    OP
       2016-03-08 12:11:01 +08:00
    刚刚又崩溃了
    以下是服务器的 messages 日志
    Mar 8 12:11:19 iZ25hwakeqjZ sshd: /usr/sbin/sshd: error while loading shared libraries: cannot allocate symbol search list: Cannot allocate memory
    Mar 8 12:11:32 iZ25hwakeqjZ systemd-logind: Failed to save session data /run/systemd/sessions/312: No space left on device
    Mar 8 12:11:32 iZ25hwakeqjZ systemd-logind: Failed to save user data /run/systemd/users/0: No space left on device
    Mar 8 12:11:33 iZ25hwakeqjZ systemd-logind: Removed session 313.
    Mar 8 12:11:33 iZ25hwakeqjZ systemd-logind: Removed session 312.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd-logind: Removed session 311.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd-logind: Removed session 310.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd-logind: Removed session 309.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd-logind: New session 315 of user root.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd-logind: New session 314 of user root.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd: Started Session 314 of user root.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd: Starting Session 314 of user root.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd: Started Session 315 of user root.
    Mar 8 12:11:43 iZ25hwakeqjZ systemd: Starting Session 315 of user root.
    realpg
        56
    realpg  
    PRO
       2016-03-08 12:15:18 +08:00   1
    让你老板给个红包,给你完完整整配好环境,优化访问,加固系统,如何……
    一点运维经验没有就揽运维的活干吗……
    yeqiu"
        57
    yeqiu  
       2016-03-08 12:21:09 +08:00   1
    LZ 加油吧,祝你好运
    Deeer
        58
    Deeer  
       2016-03-08 12:25:26 +08:00   1
    第二天又看到你了。虽然不大懂, But good luck :]
    lgh
        59
    lgh  
       2016-03-08 12:31:42 +08:00   1
    Cannot allocate memory 内存耗尽了吧
    ztrt
        60
    ztrt  
       2016-03-08 12:32:31 +08:00   1
    pm.max_spare_servers = 30
    为什么只开 30 个?
    在你卡的时候用 top 命令查看负载及进程使用情况,还有使用 vmstat 1 100 或者开启慢 查询等等都能看出些端倪,不会搜索只会伸手不骂你才怪
    chaegumi
        61
    chaegumi  
       2016-03-08 12:34:10 +08:00   1
    php 的日志没有
    chaegumi
        62
    chaegumi  
       2016-03-08 12:34:56 +08:00   1
    nginx 的日志感觉 php 都没起来,或者起来就死的那种
    realpg
        63
    realpg  
    PRO
       2016-03-08 12:44:40 +08:00   1
    我已经大概看明白了问题在哪了……
    目测需要实测验证……
    ztrt
        64
    ztrt  
       2016-03-08 12:46:31 +08:00   1
    根据日志报错随便百度下就有资料参考 http://bbs.vpser.net/thread-9339-1-1.html
    huson
        65
    huson  
       2016-03-08 13:04:02 +08:00   1
    你这个问题 我以前遇到过,是 php-fpm 进程开的太多,内存耗尽了,你把 pm.max_children 改小,把 MYSQL 单独放到一台 ECS 或者增大机器内存
    huson
        66
    huson  
       2016-03-08 13:05:45 +08:00
    pm.max_requests 也记得要打开
    Wtoto
        67
    Wtoto  
       2016-03-08 13:06:15 +08:00   1
    看看
    jarlyyn
        68
    jarlyyn  
       2016-03-08 13:30:38 +08:00   1
    Mar 8 12:11:19 iZ25hwakeqjZ sshd: /usr/sbin/sshd: error while loading shared libraries: cannot allocate symbol search list: Cannot allocate memory
    Mar 8 12:11:32 iZ25hwakeqjZ systemd-logind: Failed to save session data /run/systemd/sessions/312: No space left on device


    内存和磁盘不足?
    ztrt
        69
    ztrt  
       2016-03-08 13:40:02 +08:00 via Android   1
    @huson 首先他探针显示内存是够的,其次没记错的话 pm.max_children 这个选项只有在 pm = static 时才有效
    sampeng
        70
    sampeng  
       2016-03-08 13:58:41 +08:00   1
    @hoythan 有时间担心,都来回切换好多次了。。
    想到一个可能就去做,不行就换。还没有解决不了的事的。。。
    hoythan
        71
    hoythan  
    OP
       2016-03-08 14:01:56 +08:00
    @sampeng
    @ztrt
    @jarlyyn
    @huson
    @huson
    @realpg
    我现在认为是数据库问题了,因为我另外一台服务器装好比较低版本的 lnmp 环境后,连数据库都导入不成功 一直 502 ,就算 out 时间调整到 200 还是一样,数据库有一个是 post 数据 14mb 和 postmeta 数据 13mb 。
    mengzhuo
        72
    mengzhuo  
       2016-03-08 14:06:35 +08:00   1
    4Mb 小水管……
    4000/8 = 出口才 500KB/s 你这样真的好么……
    sampeng
        73
    sampeng  
       2016-03-08 14:08:13 +08:00   1
    @hoythan 甭怀疑了。去做。 200 还是一样。直接 10000 行不行?让错误暴露出来,给 mysql 加上慢日志时间,找个地方看 mysql 慢日志。。。
    post 数据 14mb 是什么鬼。。一条记录这么大?把这条备份,删掉。现象是否依旧。
    然后自己分析,自己解决。。有时间来发帖,试了无数方案了。。
    lansexinyu
        74
    lansexinyu  
       2016-03-08 14:14:45 +08:00   1
    我猜测问题估计在 nginx 配置上面,检查下 nginx 配置!
    homu
        75
    homu  
       2016-03-08 14:19:35 +08:00   1
    运维的烦恼?
    推荐使用系统监控神器 [Cloud Insight]( http://www.oneapm.com/ci/feature.html) ,及时发现性能问题,轻松运维。
    http://wt.sinaimg.cn/thumbnail/006mveLPgw1f1pfmx4m2rj316p0rf7c7.jpg?tags=%5B%7B%22x%22%3A%220.42%22%2C%22y%22%3A%220.17%22%2C%22str%22%3A%22Cloud+Insight+%5Cu7cfb%5Cu7edf%5Cu76d1%5Cu63a7%22%7D%5D
    还有报警功能哦~
    (对我就是来打广告的,希望能帮到你,哈哈~)
    homu
        76
    homu  
       2016-03-0814:20:14 +08:00   1
    cocalrush
        77
    cocalrush  
       2016-03-08 15:00:13 +08:00   1
    mark 回去有空看看 估计是数据库 io 或者系统 io 没设置对...
    ck1llc
        78
    ck1llc  
       2016-03-08 15:12:29 +08:00   1
    问题解决了么?等着学习呢
    ztrt
        79
    ztrt  
       2016-03-08 15:18:19 +08:00   1
    @hoythan 用 MySQLdump , 导入时 lnmp 都停了没有?
    huson
        80
    huson  
       2016-03-08 17:04:04 +08:00   1
    @ztrt - -看错了 我之前遇到的情况是 static 情况下 开的太多 资源耗尽
    asddsa
        81
    asddsa  
       2016-03-08 17:06:39 +08:00   1
    还是昨天那句话,你重新一步一步架个 LNMP ,这情况真的会好转的。。。
    imlewc
        82
    imlewc  
       2016-03-08 18:26:19 +08:00   1
    先开 php-slow log 看看是什么地方的问题 log 有时候很重要
    ZGLHHH
        83
    ZGLHHH  
       2016-03-08 18:45:01 +08:00   1
    1.图片、 js 、 css 等静态资源用 cdn 分发( upyun 、 qiniu 均可)
    2.套个 CDN
    3.阿里云的话建议用云磁盘,本地磁盘的 I/O 低的可怜
    4.阿里云的均衡负载
    5.站库分离,数据库用云数据库
    6.个人不推荐阿里云,建议买国外的机器,便宜又稳定,还是大水管。 [推荐 DO 、 Linode 、 Vultr
    ten789
        84
    ten789  
       2016-03-08 19:27:42 +08:00   1
    两天了还没被老班砍死么 2000 块钱啥都干的破事
    fy
        85
    fy  
       2016-03-08 19:42:32 +08:00   1
    楼主你这还没解决?昨天就看到说你图太大,但是加个 CDN 就完事了啊?
    填一下域名,改动一下解析,也就 5 分钟的事情
    zencoding
        86
    zencoding  
       2016-03-08 20:14:18 +08:00   1
    一、检查磁盘使用
    二、监控故障期 I/O
    阿里云的磁盘 I/O 很有趣,是跟着你的实例配置走的
    hoythan
        87
    hoythan  
    OP
       2016-03-08 20:37:30 +08:00
    完结此贴,感谢大家的支持,初步的诊断是 sql 语句导致的问题。但是具体的还没有排查出来,今天已经更换了新的 lnmp 环境,并安装了监控探针,希望明天可以出结果,如果没有问题,那么我就从工资里拿出一两百块发支付宝红包感谢各位,如果还是有问题,呵呵...大家后天在网易新闻社会板块找找我好了。
    debuge
        88
    debuge  
       2016-03-08 21:25:43 +08:00   1
    把问题和尽可能多的信息放上来,或者搭建一个非正式运行的环境将问题重现,请大家一起讨论。
    另外,轻松一点, 这只是你职业生涯可能遇到的无数问题中的一小个而已,不要想的太严重
    mengzhuo
        89
    mengzhuo  
       2016-03-08 21:40:59 +08:00 via iPhone   1
    你刚入职吧……这种事老板不会杀了你的,最多炒了你换个人罢了。

    ps 删光某网站的数据库的我还不是活得好好的~(逃
    ZGLHHH
        90
    ZGLHHH  
       2016-03-08 21:43:45 +08:00   1
    补:
    套 cdn 建议是国内 cdn ,源站国外,否则很容易会被 GFW 阻断连接
    hoythan
        91
    hoythan  
    OP
       2016-03-09 00:08:09 +08:00 via iPhone
    @mengzhuo 主要是我心理上过意不去…
    quericy
        92
    quericy  
       2016-03-09 00:10:31 +08:00   1
    如果觉得是 mysql 问题就开启慢查询日志然后导出来瞅瞅
    或者在非生产环境跑个并发测试看看
    冷静下来,问题终归会解决的

    @mengzhuo 噗,这样真的大丈夫?
    hoythan
        93
    hoythan  
    OP
       2016-03-09 00:19:52 +08:00 via iPhone
    @quericy 嗯嗯已经开启慢查询,就等着死机了。
    Peanut666
        94
    Peanut666  
       2016-03-09 00:36:45 +08:00   1
    楼主加油,一起学习~~
    iCantus
        95
    iCantus  
       2016-03-09 09:05:51 +08:00   1
    网址多少
    mengzhuo
        96
    mengzhuo  
       2016-03-09 09:14:55 +08:00 via iPhone   1
    @quericy 实习的时候捅的篓子,
    delete 忘了加 where limit
    删了近十年的数据,当时就懵 b 了,然后被赶到的经理痛骂一顿
    dba 知道我是实习生,就说了句:下次别忘了加 limit 。
    就跑去恢复备份了。
    yunying
        97
    yunying  
       2016-03-09 09:41:04 +08:00   1
    @mengzhuo

    有故事的人
    mhycy
        98
    mhycy  
       2016-03-09 09:56:46 +08:00   8
    给大家说说昨天的排查过程吧,因为干扰源存在,问题未最终解决。

    开头时候服务器环境的不熟悉浪费大量时间。。
    找配置文件,塞个 htop ,塞个 iftop ,因为 CentOS 仅仅在内网用过(无外网访问权限),傻乎乎的就去找包了,结果 CentOS 7 ,半天没找着,最后 yum 发现都能用

    翻查 mysql 的实际调用配置文件位置浪费了不少时间。。

    ======================================

    刚开始看在本页页头的日志文件,感觉应该是 PHP-FPM/MySQL 阻塞 /挂掉,所以从这个地方入手。
    先把看起来有问题的性能参数都给改了, MySQL 的查询缓存开大点。( 4G 内存,大着呢)
    压测发现 PHP-FPM 稳定承受所有请求, CPU 占用率未有明显异常,无错误报告。
    但同时 MySQL CPU 占用跑满,遂排查。。

    首先把 MySQL 的慢查询开了,超时 1 秒,记录日志
    压测 50 线程,力求打满。。。然并卵,机器的带宽就 4M ,折算下来理论 512KB/S
    (事实上跑了 3M 的带宽,结果还是个位数的每秒响应)
    MySQL 占用继续跑满,但是慢查询没任何异常(未有任何一条数据输出)。
    多次测试情况一致。。。页面几乎无反应( 20 秒+)

    压测过程中 show processlist; 命令查看当前 SQL 字串,存在大量查询正在 Creating sort index.
    "SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id ........."
    (说好的缓存呢?)

    翻查数据库,数据是分类类目、 tag 之类的东西
    遂翻查代码,首页大量调用 get_post_meta / get_the_category, 对 WP 不熟,但至少反查上去这两个嫌疑最大,结合上面那条 SQL 提到的那些表的数据,看上去,似乎,首页的大部分文章,都调用了一次。。。

    传说中的 97 次 SQL ?

    这个算是其一,另外在 show processlist;过程中存在大量的 ALERT TABLE 请求。。。
    逻辑告诉我,大概是楼主在导数据吧。。。

    。。。。。
    。。。。
    。。。
    。。



    但是在多次压测的时候我还能看到这东西。。。
    复制一行,问楼主:
    "ALTER TABLE vp_msg CHANGE COLUMN Status Status TINYINT NOT NULL"
    "长这样的 mysql 语句你有印象么"

    "我知道,这是我自己创建的数据表"
    "这句有问题吗"

    "...为啥我每次访问首页都能看到这行东西 "

    ..............

    屏蔽过后,压测稳定了,至少能稳稳当当的在我可接受的时间内跑完全程,并发 10 (但依旧占用 100%)
    在那堆查询问题解决之前,无法进入下一步排查,算是干扰源。

    以上就是昨日下午排查的结果。
    h4lt
        99
    h4lt  
       2016-03-09 10:12:40 +08:00   1
    楼上厉害啊。
    学习下测试流程。
    mengzhuo
        100
    mengzhuo  
       2016-03-09 10:19:33 +08:00   1
    @mhycy
    wordpress 自身就有优化语句和索引了
    难道楼主是自己写 SQL 的么……难为他和你了
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2725 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 14:00 PVG 22:00 LAX 07:00 JFK 10:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86