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

服务器的奇怪状况,请求大家帮助

  •  
  •   kran · 2015-11-21 01:07:54 +08:00 via Android · 2138 次点击
    这是一个创建于 3290 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在做服务器压测,环境是 nginx , php5.2
    硬件环境是 4 核 2.7ghz 和 8g 内存虚拟机
    php 开 512 进程, nginx 4 worker

    用 jmeter 压测 500 线程组,持续压 2 分钟,前 30 秒大概能维持 800QPS ,在请求总数达到 27000(大概 30 秒)后开始卡住, 502 开始出现,卡住 1 分钟后开始恢复响应能力。

    这样的状况会是哪里出问题了呢?
    9 条回复    2015-11-21 21:11:23 +08:00
    RemRain
        1
    RemRain  
       2015-11-21 01:41:35 +08:00
    进程开太多,平均每核处理 128 个进程, cpu 时间全浪费在进程调度上了。调到 16 或者 32 试试
    msg7086
        2
    msg7086  
       2015-11-21 03:27:52 +08:00
    512 进程……改成 32 试试……? 800qps 挺吓人了(
    dndx
        3
    dndx  
       2015-11-21 03:57:08 +08:00
    开这么多进程 CPU 时间全浪费在 context switching 上面了。建议降低 PHP 进程数。
    wangluowangwang
        4
    wangluowangwang  
       2015-11-21 04:32:13 +08:00
    进程太多,减少 fastcgi 进程数量。
    ryd994
        5
    ryd994  
       2015-11-21 05:04:56 +08:00 via Android
    你就 4 个核,跑 512 进程有什么用?
    一般和核心数一样或者+1 ,如果有比较多的 IO ,那再另外讨论,以刚好用满 CPU 为度。
    8g/512 一个进程只能用 16M 内存,呵呵呵
    后面卡估计是卡死在 swap 上了
    vietor
        6
    vietor  
       2015-11-21 07:36:08 +08:00 via Android
    cache 刷新间隔
    Tianpu
        7
    Tianpu  
       2015-11-21 08:01:49 +08:00 via iPhone
    php 多开几个进程池,静态进程,比如 64*8 这样子分配。可能 ulimit 也要设置下。

    前 30 秒还有进程分配,然后 php 卡死了,飞快的返回 502 。

    还有,你测试脚本是啥?
    mahone3297
        8
    mahone3297  
       2015-11-21 09:43:19 +08:00
    大家都分析的好有道理,学习。。。
    kran
        9
    kran  
    OP
       2015-11-21 21:11:23 +08:00
    现在的问题不是上面那个了,我把脚本换成 sleep(0.5); 现在用很小的量压,也会有 502 错误发生,不会卡住了。

    php5.5 不会有错误, 5.2 有错误。

    @vietor 请问这个 cache 指的是哪个?

    @Tianpu 脚本是 sleep(0.5);
    @dndx 很小的量压也有错。 CPU 还不满
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   928 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.