Gawie
V2EX  ›  问与答

老机器,就运营discuz,日IP 1W,负载为什么这么高?求解!

  •  
  •   Gawie · Sep 30, 2013 · 4168 views
    This topic created in 4651 days ago, the information mentioned may be changed or developed.
    机器很老,但是一直运行网站没有问题,最近不知道怎么了,负载直接20+,对linux服务器不是太熟悉,跑的是nginx,有什么方法可以诊断具体的负载高的问题么?

    9 replies    1970-01-01 08:00:00 +08:00
    moonfly
        1
    moonfly  
       Sep 30, 2013
    从进程看是PHP动态脚本跑的负载,另外建议看下web的access日至,看看是否又什么异常的访问请求,比如是否有大量请求某个比较耗资源的PHP页面!定位是异常的访问请求导致的,还是你网站的PHP程序有问题导致的;
    felix021
        2
    felix021  
       Sep 30, 2013
    你这是裸的php-cgi? 如果是的话,赶紧换fcgi或者fpm吧。此外可以装个APC/XCache什么的,如果目前没装。再不行就找个profiler看看性能热点在什么地方,优化一下,比如弄个memcached/redis缓存一些压力比较大的数据之类的。
    Gawie
        3
    Gawie  
    OP
       Sep 30, 2013
    @moonfly web访问的log? 可以看出来那个PHP文件耗资源么?怎么查询? 网站用dz,应该不是网站程序问题


    @felix021 是fpm,有装memcached,profiler?
    Livid
        4
    Livid  
    MOD
    PRO
       Sep 30, 2013
    tail -f 看一下网站的日志。如果是最近突然负载变高的话,比较可能是攻击,或者某些搜索引擎的大量请求。
    felix021
        5
    felix021  
       Sep 30, 2013
    @Gawie 用xdebug进行profile,然后用kcachegrind之类的东西可以看profile的结果,分析性能热点针对性地优化。
    plprapper
        6
    plprapper  
       Sep 30, 2013
    估计是被大量注册机 爬了吧 我的最近访问量也挺大的
    TankyWoo
        7
    TankyWoo  
       Oct 2, 2013
    你的 cpu使用率本身就很高, 先排序确认下看看是哪些占用的。

    另外, 按数字键1, 看看你是几核的,这个load/核数才算单核的负载。
    Gawie
        8
    Gawie  
    OP
       Oct 7, 2013
    @Livid TKS,已经确认是北京某段IP,IPtable后解决

    不过最近发现普通1G内存,扛webbench,-C 500 -t 60直接502了,可能对缓存和其他配置优化没有做,但是单说这样的好像一个命令直接秒杀小内存主机了,这样可以叫做简版的DD么?

    对于小配置版本的server,类是nginx+php+mysql linux下,这样有什么优化的方法么?


    @Livid @Sdhjt
    @TankyWoo
    Livid
        9
    Livid  
    MOD
    PRO
       Oct 8, 2013
    @Gawie 这个无解。你只能针对特征(IP,User Agent)去封锁。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3527 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 05:01 · PVG 13:01 · LAX 22:01 · JFK 01:01
    ♥ Do have faith in what you're doing.