php 重启后网站卡顿?分系统解决方法及性能优化技巧

2025-07-23 0 453 百度已收录

刚重启完 php 服务,网站却慢得像蜗牛?点个页面要等 5 秒,用户全跑了,自己急得直冒汗?小编前阵子帮客户维护网站,就遇到过这情况,重启 php 后反而更卡,后来才发现是系统配置没调好。今天就说说不同系统下,php 重启后卡顿该咋解决,还有能提速的小技巧,新手也能看懂,一起往下看吧!

Linux 系统:这两个命令,先查问题再解决

Linux 是最常用的服务器系统,php 重启后卡顿,多半是进程或内存出了问题,一步一步来:

先查原因:到底卡在哪?

  1. top命令,看 php-fpm 的 CPU 和内存占用,要是超过 80%,就是进程太多或内存不够;
  2. 再输netstat -an | grep 9000(9000 是 php 默认端口),看连接数是不是超过了设置的上限,太多连接会堵死。

小编上次查客户的服务器,php-fpm 进程跑到 100%,明显是进程数设少了,调大后立马不卡了。

解决方法:调进程数和内存

  • 找到 php-fpm 的配置文件(一般在/etc/php-fpm.d/www.conf);
  • 改这两个参数:
    • pm.max_children = 20(最多能启动 20 个进程,根据服务器内存调,1G 内存建议设 10-15);
    • pm.start_servers = 5(启动时先开 5 个进程,别一上来就开满);

  • 改完重启 php-fpm:sudo systemctl restart php-fpm,试试网站是不是快了。

客户的服务器原来max_children设成 5,用户一多就卡,改成 15 后,同时 100 人访问也顺顺当当。

Windows 系统:图形界面调设置,不用记命令

Windows 服务器用 php 的少,但卡起来更让人懵,其实调这两处就行:

  1. 打开 “服务”,找到 “PHP FastCGI Process Manager”,右键 “属性”;
  2. 点 “登录”,选 “本地系统账户”,勾 “允许服务与桌面交互”,之前客户的服务用了普通账户,权限不够导致卡顿;
  3. 再找 php 安装目录下的php.ini,改memory_limit = 128M256M(内存够的话),保存后重启服务。

小编办公室的 Windows 服务器,就这么改的,重启 php 后,网站加载从 4 秒降到 1.5 秒,效果挺明显。

系统 卡顿常见原因 解决步骤 提速关键点
Linux 进程数太少、内存不够 调 www.conf 里的 max_children、重启 php-fpm 进程数设成内存 G 数 ×2
Windows 服务权限不够、内存限制低 改服务登录账户、调 php.ini 的 memory_limit 内存限制至少 128M
宝塔面板 缓存没开、进程池配置低 开 OPcache、调进程池最大连接数 缓存开关一定要打开


性能优化:这 3 个技巧,能让网站快 30%

光解决卡顿还不够,优化一下,网站能跑得更欢,小编亲测有效的方法:

开 OPcache 缓存,让 php 少干活

  • 找到 php.ini,搜索opcache.enable = Off,改成On
  • 再改opcache.memory_consumption = 64128,保存后重启 php;
  • 效果:php 不用每次都解析代码,直接用缓存,小编的博客加了这个,页面加载快了一半。

不过有个小问题,改了代码后得手动清缓存(宝塔面板里有 “清空 OPcache” 按钮),不然看不到新内容,我第一次就因为这白改了代码。

调进程池:别让 php “累着”

  • Linux 里,pm = dynamic(动态进程)比pm = static(固定进程)更省资源,新手选动态;
  • 进程数别太多,1 核 CPU 最多设 10 个,多了会抢资源,小编的 2 核服务器设 15 个,刚好不卡。

加个缓存工具:Redis 帮 php 减负

  • 装个 Redis(宝塔面板里一键安装就行),让它存会话和数据库查询结果;
  • php 里配好 Redis,用户登录信息、商品列表这些,就不用每次查数据库了;
  • 客户的电商网站加了 Redis 后,数据库压力降了 40%,php 处理速度自然快了。


自问自答:新手可能搞不懂的事

为啥重启 php 前不卡,重启后反而卡了?

多半是重启后 php 重新加载配置,新配置和服务器资源不匹配。比如原来进程数设高了,重启后系统内存不够,就卡了。小编上次给客户调配置,重启后卡,就是因为把max_children设太高,降下来就好了。

不同 php 版本,优化参数一样吗?

不太一样!php7.4 以上支持 “JIT 编译”,在php.ini里加opcache.jit = 1255,能再快 10%;但 php5.6 就没这功能,别瞎加,加了反而报错。新手不知道版本的话,输php -v查查。

用虚拟主机,不能改配置咋优化?

联系主机商,让他们调;或者用 “静态化” 插件,把 php 生成的页面存成 html,用户访问时直接读 html,不用麻烦 php,小编的个人博客就这么弄,虚拟主机也跑得挺快。

最后说点实在的

小编觉得,php 重启后卡顿,不是大问题,先查进程和内存,再调配置,基本都能解决。优化方面,OPcache 是必开的,简单又有效,新手先把这个弄好,再学其他技巧。
根据客户的数据,调对进程数 + 开 OPcache,网站响应速度平均能提升 30%,用户停留时间也会长不少。别嫌麻烦,多试几次,你也能让网站跑得飞快!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

兔格号 SEO运维 php 重启后网站卡顿?分系统解决方法及性能优化技巧 https://www.tglzm.com/seo/wei-seo/4070.html

一个独行者,独揽万古

常见问题

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务