Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
209 views
in Technique[技术] by (71.8m points)

php-fpm性能问题

我博客用的是nginx+php的架构,架设在阿里云上,配置是1核+2GB内存,数据库是mysql,但是文章缓存在redis上。我域名用了HTTPS。

用阿里云性能测试,参数如下:

clipboard.png

刚开始博客正常运行,cpu占用率持续100%,前台访问博客,延迟已经超过5秒,平时200ms左右。

博客是用laravel开发的,我以为是laravel框架过于庞大导致的。

后来我改了博客的入口文件,入口文件只输出一个字符串1。
但看了进程状态,如下,仍然感到十分惊讶,区区50个进程竟然把CPU逼到这种地步?
clipboard.png

问题是:

1.这种情况是PHP本身性能使然,还是我的配置出了问题?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

2017年4月7日 14:12:08更新
测试了一下线性并发的pts和响应时间,数据如下:

线性并发:

并发数 PTS(p/s) 步调(s) 预热(min) 事务响应时间(页面响应时间)ms
50 9.0 1s 0 5500ms
45 9.0 1s 0 5000ms
40 9.1 1s 0 4500ms
30 9.3 1s 0 3200ms
20 9.5 1s 0 2286ms
10 9.5 1s 0 1100ms

随后测试了一下静态html页,pts大概是800左右,响应时间1.2ms

最后测试了一下空php文件,pts大概是500,响应时间2ms左右。

得出结论:

服务器使用top命令查看负载情况并不准确,可能是进程启动的一瞬间的cpu占用情况,有一定的延迟。
最准确的指标还是持续的pts

这是证明了laravel的性能真的不太好,相对于空php文件,pts下降了50倍。

原始答案
今天自己卸载了nginx的ssl配置模块,速度还是很慢。
应该不是HTTPS模块的问题。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
...