现在已经是 4 台 4 核 8G 内存主机架了负载均衡了,但是最近高峰访问的时候基本上四台机器 top 了下 CPU 资源完全耗尽,按日志换算了下,访问量其实也不算非常大。
php-fpm 试了下切换套接字模式和 TCP 模式,基本没差别
现在动态模式 进程数 200-500 ,全负荷时主机内存占用 50%左右,唯独 CPU 使用率居高不下。。。
求推荐优化意见和方案,谢谢各位了!
ps. 所有 package 都是阿里云的 centos 源上安装的
1
yangqi 2016-04-16 02:39:09 +08:00
php-fpm 占用高的话应该考虑从 php 优化啊,多用缓存
|
2
yaodong 2016-04-16 06:26:34 +08:00
初期几个着手点:
- 先本地做分析 profiling ,工具是 xhprof 。找到 PHP 中的性能瓶颈,通过优化程序或者使用缓存的方式干掉它们。 - 然后看 SQL 慢查询,找到比较慢的 SQL 查询。通过优化查询方式和数据库索引等方式干掉它们。 - 升级到 PHP7 (如果你没有升级的话)。 - 如果有前端 AJAX 请求,尝试优化、合并、浏览器缓存这些请求。 |
3
msg7086 2016-04-16 08:10:22 +08:00
htop 先看看是谁吃了这么多 CPU 。
另外我不知道这货 CPU 到底什么水平,如果 CPU 太烂也可以考虑换机器。 |
4
ZE3kr 2016-04-16 08:12:32 +08:00 via iPhone
PHP 跑的什么?网站吗?
|
5
ZE3kr 2016-04-16 08:14:13 +08:00 via iPhone
升级到 PHP7.0 ,数据库如果是 MySQL ,升级到 5.7 。然后在本地搞缓存,最好上 UPYUN 什么的吧,提高静态文件速度。
|
6
gzelvis 2016-04-16 08:27:01 +08:00 via iPhone
阿里那是硬盘 io 太烂导致的 cpu up ,没救
|
7
shiny 2016-04-16 08:28:18 +08:00
高峰期看哪个进程占的 CPU , PHP 就先对 PHP profiling , MySQL 就查 SQL
|
8
hellojinjie 2016-04-16 08:58:25 +08:00 via Android
cpu 利用率高,看是哪个空间的, sys 还是 user 的,要是 sys 的那没救了
|
9
ug888168 2016-04-16 09:19:02 +08:00 via Android
可以考虑一下用 opcache 缓存 php ,应该能降低 CPU 负荷
|
10
millken 2016-04-16 09:39:56 +08:00 via Android
放弃 fpm,拥抱 swoole
|
11
lbp0200 2016-04-16 09:40:58 +08:00 via Android
加服务器
|
12
oott123 2016-04-16 09:41:37 +08:00
有 MySQL 的话,改用阿里云自己的 RDS 试试看吧……
|
13
id4alex 2016-04-16 10:19:37 +08:00
nginx 并发上线卡一道吧,之前就是搜索引并发直接搞挂了,后来在 nginx 卡了每秒的并发基本解决 90%问题
|
15
doyel OP @msg7086 pp-fpm 吃 CPU 厉害。。。所以我觉得是 FASTCGI 运行效率太低了。。。要么就是真的这破机器运算能力太差。。。
|
17
misty8873 2016-04-17 10:46:13 +08:00 via iPhone
兄弟,还是来我这用物理机吧。。。
|
18
denghongcai 2016-04-17 12:38:13 +08:00
你也不说下你并发的数量到底是多少
|
19
denghongcai 2016-04-17 12:40:14 +08:00
阿里云上,用 Laravel 这种慢框架, PHP7+RDS ,双核 4G 内存,非 IO 优化实例,单台机器大概 250QPS
|
20
doyel OP @denghongcai 每秒也就千次不到。。。。
|
21
denghongcai 2016-04-17 15:42:28 +08:00
@doyel 单台千次?那其实还挺正常的,看看 RDS 的日志 QPS 到了多少?看看 CPU 的负载是耗在 sys 还是 usr 上
|
22
doyel OP @denghongcai 总共。。。
|
23
doyel OP @denghongcai 峰值 QPS 5000
|
24
aliyunservice 2016-04-18 11:49:40 +08:00
@yaodong 建议不错,建议楼主可以先针对这几点分析优化下哦。
|
25
xiaooloong 2016-04-20 16:53:32 +08:00
虚拟机的单核心性能确实没有有物理机的好
|
26
njwangchuan 2016-07-06 13:29:48 +08:00
4 台 4 核 8G 内存主机,换成 8-12 台 2 核 4GB 试试。话说不能自动扩展的云计算服务器都是耍流氓。
|
27
doyel OP @njwangchuan 太同意这句话了……不能按 lb 负载情况自动扩张的根本意义不大
|