阿里云主机的 nginx+php-fpm 环境如何优化高并发啊。。。

2016-04-16 02:18:52 +08:00
 doyel

现在已经是 4 台 4 核 8G 内存主机架了负载均衡了,但是最近高峰访问的时候基本上四台机器 top 了下 CPU 资源完全耗尽,按日志换算了下,访问量其实也不算非常大。

php-fpm 试了下切换套接字模式和 TCP 模式,基本没差别

现在动态模式 进程数 200-500 ,全负荷时主机内存占用 50%左右,唯独 CPU 使用率居高不下。。。

求推荐优化意见和方案,谢谢各位了!

ps. 所有 package 都是阿里云的 centos 源上安装的

10995 次点击
所在节点    云计算
27 条回复
yangqi
2016-04-16 02:39:09 +08:00
php-fpm 占用高的话应该考虑从 php 优化啊,多用缓存
yaodong
2016-04-16 06:26:34 +08:00
初期几个着手点:

- 先本地做分析 profiling ,工具是 xhprof 。找到 PHP 中的性能瓶颈,通过优化程序或者使用缓存的方式干掉它们。
- 然后看 SQL 慢查询,找到比较慢的 SQL 查询。通过优化查询方式和数据库索引等方式干掉它们。
- 升级到 PHP7 (如果你没有升级的话)。
- 如果有前端 AJAX 请求,尝试优化、合并、浏览器缓存这些请求。
msg7086
2016-04-16 08:10:22 +08:00
htop 先看看是谁吃了这么多 CPU 。
另外我不知道这货 CPU 到底什么水平,如果 CPU 太烂也可以考虑换机器。
ZE3kr
2016-04-16 08:12:32 +08:00
PHP 跑的什么?网站吗?
ZE3kr
2016-04-16 08:14:13 +08:00
升级到 PHP7.0 ,数据库如果是 MySQL ,升级到 5.7 。然后在本地搞缓存,最好上 UPYUN 什么的吧,提高静态文件速度。
gzelvis
2016-04-16 08:27:01 +08:00
阿里那是硬盘 io 太烂导致的 cpu up ,没救
shiny
2016-04-16 08:28:18 +08:00
高峰期看哪个进程占的 CPU , PHP 就先对 PHP profiling , MySQL 就查 SQL
hellojinjie
2016-04-16 08:58:25 +08:00
cpu 利用率高,看是哪个空间的, sys 还是 user 的,要是 sys 的那没救了
ug888168
2016-04-16 09:19:02 +08:00
可以考虑一下用 opcache 缓存 php ,应该能降低 CPU 负荷
millken
2016-04-16 09:39:56 +08:00
放弃 fpm,拥抱 swoole
lbp0200
2016-04-16 09:40:58 +08:00
加服务器
oott123
2016-04-16 09:41:37 +08:00
有 MySQL 的话,改用阿里云自己的 RDS 试试看吧……
id4alex
2016-04-16 10:19:37 +08:00
nginx 并发上线卡一道吧,之前就是搜索引并发直接搞挂了,后来在 nginx 卡了每秒的并发基本解决 90%问题
doyel
2016-04-16 21:35:36 +08:00
@oott123 已经是 RDS 了。。。
doyel
2016-04-16 21:36:25 +08:00
@msg7086 pp-fpm 吃 CPU 厉害。。。所以我觉得是 FASTCGI 运行效率太低了。。。要么就是真的这破机器运算能力太差。。。
odirus
2016-04-17 08:35:28 +08:00
@ug888168 +1 ,大部分情况下都能有非常明显的效果
misty8873
2016-04-17 10:46:13 +08:00
兄弟,还是来我这用物理机吧。。。
denghongcai
2016-04-17 12:38:13 +08:00
你也不说下你并发的数量到底是多少
denghongcai
2016-04-17 12:40:14 +08:00
阿里云上,用 Laravel 这种慢框架, PHP7+RDS ,双核 4G 内存,非 IO 优化实例,单台机器大概 250QPS
doyel
2016-04-17 15:34:00 +08:00
@denghongcai 每秒也就千次不到。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/271476

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX