V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Msxx
V2EX  ›  程序员

抱紧网站运维大佬的腿腿

  •  
  •   Msxx · 2020-01-10 00:20:29 +08:00 · 4936 次点击
    这是一个创建于 1778 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位好,建了个小破站,目前服务器负载一直居高不下,只有在凌晨才稍微正常点。

    用的宝塔面板,尝试做了些 php 和 mysql 方面的调整,但依然无法把负载给降下来。

    甚至我有点怀疑是长期的高磁盘读写导致的负载问题。下面我截了一些配置,希望有大佬能帮忙看看是咋回事,如果是磁盘读写问题,可以通过给服务器上 cloudflare 来缓解吗?

    拜托,拜托。

    感谢,感谢。

    服务器状态

    QQ 截图 20200110001002.jpg

    出入流量

    QQ 截图 20200110001016.jpg

    mysql 性能配置

    QQ 截图 20200110001135.jpg

    mysql 当前状态

    QQ 截图 20200110001127.jpg

    PHP 扩展

    QQ 截图 20200110001038.jpg

    PHP 配置修改

    QQ 截图 20200110001049.jpg

    PHP 性能调整

    QQ 截图 20200110001103.jpg

    29 条回复    2020-01-12 16:38:26 +08:00
    cdlnls
        1
    cdlnls  
       2020-01-10 01:15:36 +08:00 via iPhone   ❤️ 1
    怕不是中了挖矿病毒了吧?你得具体看下是什么进程占了 CPU,这样看看不出来什么东西
    wangyzj
        2
    wangyzj  
       2020-01-10 01:33:39 +08:00   ❤️ 1
    肉鸡
    chinesestudio
        3
    chinesestudio  
       2020-01-10 01:39:27 +08:00 via Android
    不用宝塔就啥问题都没了 200 单次服务 给你配置好
    falcon05
        4
    falcon05  
       2020-01-10 08:34:06 +08:00 via iPhone   ❤️ 1
    php 运行模式改成 ondemand,设定 fpm 超过多少次请求重启子线程,最大执行时间限制到 30 秒。如果没有必须用事务,行级锁等等特性,MySQL 禁用 inodb 引擎,我 1 核 1G 内存 1M 带宽的腾讯学生机就这么搞的,之前经常负载上 20,每天重启,现在基本能做到负载 0.5 以下,uptime 一个月了
    opengps
        5
    opengps  
       2020-01-10 08:46:04 +08:00 via Android   ❤️ 1
    数据库每秒 106 太高了,估计到硬盘极限了
    Youngxj
        6
    Youngxj  
       2020-01-10 08:47:06 +08:00
    宝塔好评
    opengps
        7
    opengps  
       2020-01-10 08:47:34 +08:00 via Android   ❤️ 1
    带宽也明显偏高,你查查网站日志,什么文件被大量获取
    shapl
        8
    shapl  
       2020-01-10 09:02:59 +08:00
    你试试提升带宽三四倍一个小时,能不能降下来。
    lc7029
        9
    lc7029  
       2020-01-10 09:08:30 +08:00   ❤️ 1
    1,先检查自己的服务器是否中毒,比如正在挖矿或攻击。
    2,如果没有,流量都是正常流量,那说明访问量大,可考虑上 CDN 来缓存数据。
    3,如果正被攻击,也是 CDN 扛。
    4,数据库不懂,就不说配置问题了。如果有频繁读写,另一个方案是数据库和页面服务器分离。
    leido
        10
    leido  
       2020-01-10 09:09:39 +08:00
    烂怂宝塔有什么好用的,系统进程打出来看看
    2379920898
        11
    2379920898  
       2020-01-10 09:13:20 +08:00   ❤️ 1
    集成服务,永远没有手动安装服务性能好。
    性能还是一方面,万一哪天爆出 0DAY,这玩意就是个隐患
    Ginson
        12
    Ginson  
       2020-01-10 09:14:26 +08:00   ❤️ 1
    命令行运行 top 看下 CPU、MEM 占用高的是啥进程,然后针对性处理一下
    airplayxcom
        13
    airplayxcom  
       2020-01-10 09:18:22 +08:00 via iPhone
    运维的腿腿上没有宝塔这根毛 υ᷇(⚆•̫⚆)υ᷆
    whale
        14
    whale  
       2020-01-10 09:50:09 +08:00   ❤️ 1
    被挖矿了吧,top -c 查看 CPU 占用,记住异常进程的 ID、名称和路径,先 Kill -9 ID 结束相应进程,再删除相应文件,如果是挖矿查下是不是有定时任务,crontab -r 简单粗暴全删。

    好像大多都是利用 redis 漏洞,用不上就卸了吧,或者重新配置下端口和密码。
    ihciah
        15
    ihciah  
       2020-01-10 09:53:53 +08:00 via iPhone   ❤️ 1
    卡 CPU 注意做一下缓存,除了 sql 缓存外可以考虑应用层缓存,比如生成好静态内容或者加一层 redis 之类的。以及静态资源套一下 CDN 可以降一点带宽占用。
    Msxx
        16
    Msxx  
    OP
       2020-01-10 09:54:23 +08:00
    @whale 貌似快破案了,关了 Redis 流量就直接降下来了。
    yinaw
        17
    yinaw  
       2020-01-10 10:35:30 +08:00 via Android   ❤️ 1
    你这个站点出入流量太大了,按你这个流量每天访问人数在十万以上,如果没有就是可能被挖矿或者爆破了…

    建议在宝塔安全栏关闭不用的端口,包括 ssh 端口,只留下几个常用的端口,另外把 php 的缓存由 redis 改为 memcached 试试…
    Msxx
        18
    Msxx  
    OP
       2020-01-10 10:46:24 +08:00
    @whale 老哥,发现貌似和蜘蛛有关系,看了一下 Google 的蜘蛛每秒钟 5 次!
    mayx
        19
    mayx  
       2020-01-10 10:46:40 +08:00 via Android   ❤️ 1
    挖矿的可能性比较大,内存占用少一般不会有很多人访问
    whale
        20
    whale  
       2020-01-10 10:55:40 +08:00   ❤️ 1
    @Msxx #18 搜索引擎应该不会这么勤,会不会被爬站了?
    ARhen
        21
    ARhen  
       2020-01-10 11:07:19 +08:00   ❤️ 1
    想起来一个类似的事,公司有台服务器,查看 top 命令,一个 Cron 的进程占用 300%
    查看系统中 Cron 里面的代码,然后我给关了,但是怀疑是 log 日志的日志切割,因为禁止后我 tomcat 项目日志不会每天截断了。
    Msxx
        22
    Msxx  
    OP
       2020-01-10 11:46:48 +08:00
    上面的大佬们已点感谢,结贴了。
    关了 Redis,上了 cloudflare,观察一下。之后再有问题的话就找人帮着处理了,实在是尽力了哈哈。
    谢谢大家的帮忙。
    Msxx
        23
    Msxx  
    OP
       2020-01-10 15:32:22 +08:00
    @whale 这会儿占用降下来了,看了一下谷歌蜘蛛也明显降低了,来访接近 2w 次
    encro
        24
    encro  
       2020-01-10 15:51:45 +08:00
    @falcon05 禁用 inodb 这个操作还是算了吧。

    @Msxx 谷歌蜘蛛,先看看是否冒牌的。

    1,看看流量用在哪里:查看 Linux 每个进程的流量和带宽 https://blog.csdn.net/monkeynote/article/details/45867803

    2,看看慢在哪里:开启日志,php-fpm slow log, mysql slow log,nginx access log with fastcgi time
    encro
        25
    encro  
       2020-01-10 15:58:56 +08:00
    https://www.cnblogs.com/terryguan/p/4554207.html
    php-fpm 占用系统资源分析
    encro
        26
    encro  
       2020-01-10 16:04:01 +08:00
    宝塔还是很好用的:

    1,索引命中率太低;
    2,创建临时表命中率太高。
    Msxx
        27
    Msxx  
    OP
       2020-01-10 22:21:39 +08:00
    @encro 感谢感谢
    cydian
        28
    cydian  
       2020-01-10 23:52:10 +08:00
    怎么有人见宝塔就喷?
    服务器资源一满就喷宝塔的问题?
    littlezzll
        29
    littlezzll  
       2020-01-12 16:38:26 +08:00 via Android
    宝塔运维奥利给
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:51 · PVG 19:51 · LAX 03:51 · JFK 06:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.