各位, PHP 不用 CGI/FPM,而是 Apache 2.0 Handler,怎么提升并发?

2020-07-28 14:35:03 +08:00
 uiosun

我司竟然还在用 Apache 2.0 Handler,运维不敢快速切换到 php-fpm,但同意让我改一些 Apache/PHP 的配置。

项目月底就要上线,性能压力目前主要集中在并发上,所以我该怎么优化 Apache 2.0 Handler 呢?

Ps:

线上 32G 内存的服务器,觉得蛮大,本来准备直接调整 fpm 的生成方式、最大数量,结果猝不及防……

查了查“Apache 2.0 Handler 并发”,毫无结果。

3545 次点击
所在节点    PHP
24 条回复
hbolive
2020-07-28 14:45:41 +08:00
你这不还没上线吗?为啥不让调。。
NjcyNzMzNDQ3
2020-07-28 14:49:05 +08:00
如果压力在 apache 哪里,没啥好办法,甩锅给运维吧。

试试在 apche 前面套个 nginx,nginx 来做负载均衡带多个 apache,nginx 也可以开 proxy_cache 减少请求到户端的数量。
dzdh
2020-07-28 14:52:54 +08:00
啥操作系统
*nix 把 mpm 改成 event

fpm 的话 php 可以安装两套,一套跟 apache 一起编译成 mod_php 另一套 php-fpm 。
apache 支持 fcgi 和 mod_php 共存(其实本来就是两套) 然后前端 nginx 负载均衡一下 apache 权重 9 fpm 权重 1
cbasil
2020-07-28 15:04:29 +08:00
没上线还不让调,怼死运维去
mahone3297
2020-07-28 15:11:29 +08:00
多开几个 apache,前端架一个 lb
AngryPanda
2020-07-28 15:12:44 +08:00
堆机器了
hasdream
2020-07-28 15:13:22 +08:00
linux 可以考虑把 apache 升到 2.4 然后使用 event 模式, 调优参考: http://mp.weixin.qq.com/s/eGGtBlXy0cYBFTO6AfF7dw
wangritian
2020-07-28 17:25:45 +08:00
apache 设置成多进程+多线程的工作模式,php 开启 opcache,mysql 热点数据同步到 redis
你还需要掌握一个压测工具,ab/webbench/wrk,一边优化一边确认结果
Evilk
2020-07-28 17:36:08 +08:00
还没上线,为啥不让调?
安装 fpm 很简单啊?
sunny1688
2020-07-28 17:37:54 +08:00
为啥是运维管这些?
bin20060407
2020-07-28 17:55:06 +08:00
以前用的 php-fpm 配合 Apache 2.4,以为可以撑得住,结果发现不管咋调,还是会报进程数不够,换成 nginx,就没问题了
jifengg
2020-07-28 18:00:32 +08:00
既然有运维,那么就不要自己改!把你的需求提给运维。自己改了出问题是你的,而且你不也不熟悉么。运维坚持用 apache,那就只能提出需求让其解决了。
真的,别最后吃力不讨好。
JJstyle
2020-07-28 18:59:17 +08:00
可以开多个 apache,前面用 nginx 转发一下
uiosun
2020-07-29 09:22:13 +08:00
(运维也是个开发同事,只是他负责我们公司运维工作,公司对这块看得比较重,不允许其他人——譬如我,来动容器)

前阵子带队把 ElementUI fork 到内网,又加了几个组件,领导可能是觉得做的不错,就突然说我来优化性能,我也很懵,但觉得没啥问题,反正我本职就是服务端。

结果现在运维卡住 Docker,不允许我去搞大动作,我就很炸裂了……

现在,我正在跟运维商量把一些配置文件暴露给我,让我可以修改和重启容器,如果这都做不到,那我就直接找领导,说“我做不了这个活儿,请另请高明”了。

艾特各位大佬,嘿嘿。 @sunny1688 @jifengg @cbasil @hbolive @NjcyNzMzNDQ3
uiosun
2020-07-29 09:22:44 +08:00
@dzdh CentOS,不能有大动作,只能在小配置上做些手脚……蓝受
uiosun
2020-07-29 09:24:06 +08:00
@mahone3297 感谢大佬,负载均衡有的,Apache 我改了配置,提升了 30 % 的线程数量,看效果如何
uiosun
2020-07-29 09:25:33 +08:00
@wangritian 跟你讲个笑话,我们作为一个预估上万用户同时做写入业务的站,没用 Redis……(无语泪先流,我来的时候这个站已经基本做完了)
xw
2020-07-29 09:50:26 +08:00
写出实施方案,(预计)改前后效果对比,需要时间,反馈 /讨论决定是否 /如何处理
julyclyde
2020-07-29 10:42:29 +08:00
@dzdh 我记得 apache mod_php 似乎不支持 event 只能 mpm 啊?
julyclyde
2020-07-29 10:43:12 +08:00
@uiosun 预估上万人一般都达不到的,所以 redis 无所谓啦

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

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

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

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

© 2021 V2EX