各位好,建了个小破站,目前服务器负载一直居高不下,只有在凌晨才稍微正常点。
用的宝塔面板,尝试做了些 php 和 mysql 方面的调整,但依然无法把负载给降下来。
甚至我有点怀疑是长期的高磁盘读写导致的负载问题。下面我截了一些配置,希望有大佬能帮忙看看是咋回事,如果是磁盘读写问题,可以通过给服务器上 cloudflare 来缓解吗?
拜托,拜托。
感谢,感谢。
服务器状态
出入流量
mysql 性能配置
mysql 当前状态
PHP 扩展
PHP 配置修改
PHP 性能调整
1
cdlnls 2020-01-10 01:15:36 +08:00 via iPhone 1
怕不是中了挖矿病毒了吧?你得具体看下是什么进程占了 CPU,这样看看不出来什么东西
|
2
wangyzj 2020-01-10 01:33:39 +08:00 1
肉鸡
|
3
chinesestudio 2020-01-10 01:39:27 +08:00 via Android
不用宝塔就啥问题都没了 200 单次服务 给你配置好
|
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 一个月了
|
5
opengps 2020-01-10 08:46:04 +08:00 via Android 1
数据库每秒 106 太高了,估计到硬盘极限了
|
6
Youngxj 2020-01-10 08:47:06 +08:00
宝塔好评
|
7
opengps 2020-01-10 08:47:34 +08:00 via Android 1
带宽也明显偏高,你查查网站日志,什么文件被大量获取
|
8
shapl 2020-01-10 09:02:59 +08:00
你试试提升带宽三四倍一个小时,能不能降下来。
|
9
lc7029 2020-01-10 09:08:30 +08:00 1
1,先检查自己的服务器是否中毒,比如正在挖矿或攻击。
2,如果没有,流量都是正常流量,那说明访问量大,可考虑上 CDN 来缓存数据。 3,如果正被攻击,也是 CDN 扛。 4,数据库不懂,就不说配置问题了。如果有频繁读写,另一个方案是数据库和页面服务器分离。 |
10
leido 2020-01-10 09:09:39 +08:00
烂怂宝塔有什么好用的,系统进程打出来看看
|
11
2379920898 2020-01-10 09:13:20 +08:00 1
集成服务,永远没有手动安装服务性能好。
性能还是一方面,万一哪天爆出 0DAY,这玩意就是个隐患 |
12
Ginson 2020-01-10 09:14:26 +08:00 1
命令行运行 top 看下 CPU、MEM 占用高的是啥进程,然后针对性处理一下
|
13
airplayxcom 2020-01-10 09:18:22 +08:00 via iPhone
运维的腿腿上没有宝塔这根毛 υ᷇(⚆•̫⚆)υ᷆
|
14
whale 2020-01-10 09:50:09 +08:00 1
被挖矿了吧,top -c 查看 CPU 占用,记住异常进程的 ID、名称和路径,先 Kill -9 ID 结束相应进程,再删除相应文件,如果是挖矿查下是不是有定时任务,crontab -r 简单粗暴全删。
好像大多都是利用 redis 漏洞,用不上就卸了吧,或者重新配置下端口和密码。 |
15
ihciah 2020-01-10 09:53:53 +08:00 via iPhone 1
卡 CPU 注意做一下缓存,除了 sql 缓存外可以考虑应用层缓存,比如生成好静态内容或者加一层 redis 之类的。以及静态资源套一下 CDN 可以降一点带宽占用。
|
17
yinaw 2020-01-10 10:35:30 +08:00 via Android 1
你这个站点出入流量太大了,按你这个流量每天访问人数在十万以上,如果没有就是可能被挖矿或者爆破了…
建议在宝塔安全栏关闭不用的端口,包括 ssh 端口,只留下几个常用的端口,另外把 php 的缓存由 redis 改为 memcached 试试… |
19
mayx 2020-01-10 10:46:40 +08:00 via Android 1
挖矿的可能性比较大,内存占用少一般不会有很多人访问
|
21
ARhen 2020-01-10 11:07:19 +08:00 1
想起来一个类似的事,公司有台服务器,查看 top 命令,一个 Cron 的进程占用 300%
查看系统中 Cron 里面的代码,然后我给关了,但是怀疑是 log 日志的日志切割,因为禁止后我 tomcat 项目日志不会每天截断了。 |
22
Msxx OP 上面的大佬们已点感谢,结贴了。
关了 Redis,上了 cloudflare,观察一下。之后再有问题的话就找人帮着处理了,实在是尽力了哈哈。 谢谢大家的帮忙。 |
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 |
25
encro 2020-01-10 15:58:56 +08:00
https://www.cnblogs.com/terryguan/p/4554207.html
php-fpm 占用系统资源分析 |
26
encro 2020-01-10 16:04:01 +08:00
宝塔还是很好用的:
1,索引命中率太低; 2,创建临时表命中率太高。 |
28
cydian 2020-01-10 23:52:10 +08:00
怎么有人见宝塔就喷?
服务器资源一满就喷宝塔的问题? |
29
littlezzll 2020-01-12 16:38:26 +08:00 via Android
宝塔运维奥利给
|