现在已经是 4 台 4 核 8G 内存主机架了负载均衡了,但是最近高峰访问的时候基本上四台机器 top 了下 CPU 资源完全耗尽,按日志换算了下,访问量其实也不算非常大。
php-fpm 试了下切换套接字模式和 TCP 模式,基本没差别
现在动态模式 进程数 200-500 ,全负荷时主机内存占用 50%左右,唯独 CPU 使用率居高不下。。。
求推荐优化意见和方案,谢谢各位了!
ps. 所有 package 都是阿里云的 centos 源上安装的
现在已经是 4 台 4 核 8G 内存主机架了负载均衡了,但是最近高峰访问的时候基本上四台机器 top 了下 CPU 资源完全耗尽,按日志换算了下,访问量其实也不算非常大。
php-fpm 试了下切换套接字模式和 TCP 模式,基本没差别
现在动态模式 进程数 200-500 ,全负荷时主机内存占用 50%左右,唯独 CPU 使用率居高不下。。。
求推荐优化意见和方案,谢谢各位了!
ps. 所有 package 都是阿里云的 centos 源上安装的
阿里云上,用 Laravel 这种慢框架, PHP7+RDS ,双核 4G 内存,非 IO 优化实例,单台机器大概 250QPS
你也不说下你并发的数量到底是多少
兄弟,还是来我这用物理机吧。。。
@ug888168 +1 ,大部分情况下都能有非常明显的效果
@msg7086 pp-fpm 吃 CPU 厉害。。。所以我觉得是 FASTCGI 运行效率太低了。。。要么就是真的这破机器运算能力太差。。。
@oott123 已经是 RDS 了。。。
nginx 并发上线卡一道吧,之前就是搜索引并发直接搞挂了,后来在 nginx 卡了每秒的并发基本解决 90%问题
有 MySQL 的话,改用阿里云自己的 RDS 试试看吧……
加服务器
放弃 fpm,拥抱 swoole
可以考虑一下用 opcache 缓存 php ,应该能降低 CPU 负荷
cpu 利用率高,看是哪个空间的, sys 还是 user 的,要是 sys 的那没救了
高峰期看哪个进程占的 CPU , PHP 就先对 PHP profiling , MySQL 就查 SQL
阿里那是硬盘 io 太烂导致的 cpu up ,没救
升级到 PHP7.0 ,数据库如果是 MySQL ,升级到 5.7 。然后在本地搞缓存,最好上 UPYUN 什么的吧,提高静态文件速度。
PHP 跑的什么?网站吗?
htop 先看看是谁吃了这么多 CPU 。
另外我不知道这货 CPU 到底什么水平,如果 CPU 太烂也可以考虑换机器。
初期几个着手点:
- 先本地做分析 profiling ,工具是 xhprof 。找到 PHP 中的性能瓶颈,通过优化程序或者使用缓存的方式干掉它们。
- 然后看 SQL 慢查询,找到比较慢的 SQL 查询。通过优化查询方式和数据库索引等方式干掉它们。
- 升级到 PHP7 (如果你没有升级的话)。
- 如果有前端 AJAX 请求,尝试优化、合并、浏览器缓存这些请求。
php-fpm 占用高的话应该考虑从 php 优化啊,多用缓存
@denghongcai 每秒也就千次不到。。。。