php fpm 测试,Nginx优化篇 nginx+php-fpm压力测试实践 (二十三)-深圳网站优化推广公司

php fpm 测试,Nginx优化篇 nginx+php-fpm压力测试实践 (二十三)

压力测试环境准备:

系统:Linux Ubuntu 16.04.4

CPU核数:2

内存:2G

带宽:10000M/s

服务端:Nginx 1.16 + php-fpm 7.2

客户端:一台带宽50M/s的服务器。客户端的带宽不能太低。

连接监控:nginx的stub_status模块

配置参数如下:Linux内核参数:

net.ipv4.tcp_syncookies = 1

net.ipv4.ip_local_port_range = 10240 60999

net.ipv4.tcp_max_syn_backlog=10240

net.core.somaxconn=10240

net.core.netdev_max_backlog=20480

net.ipv4.tcp_tw_reuse=1

net.ipv4.tcp_max_tw_buckets=5000

net.ipv4.tcp_fin_timeout=30

# /etc/security/limits.conf (ulimit)

* soft nofile 100001

* hard nofile 100002

root soft nofile 100001

root hard nofile 100002

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

nginx配置:

worker_processes auto; #

worker_cpu_affinity auto; #

worker_rlimit_nofile 65535; #

worker_priority -19; #

events {

worker_connections 1024; #

use epoll; #

}

http {

include mime.types;

default_type application/octet-stream;

tcp_nodelay on; #

log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';

sendfile on; #

keepalive_requests 1000; #

keepalive_timeout 30; #

gzip on; #

gzip_min_length 20k; #

gzip_comp_level 2; #

gzip_types image/jpeg image/gif image/png;

server {

server_name www.atfxnews.com atfxnews.com;

root /var/www/atfxnews/public;

index index.html index.htm index.php;

listen 80 backlog=1024; #

#rewrite ^(.*)$ https://www.atfxnews.com permanent;

location / {

if (!-e $request_filename) {

rewrite^(.*)$ /index.php$1 last;

}

}

location ~ \.php {

proxy_http_version 1.1; #

proxy_set_header Connection ""; #

fastcgi_index index.php;

fastcgi_pass 127.0.0.1:9000;

fastcgi_split_path_info^(.+\.php)(.*)$;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

include fastcgi_params;

}

}

server {

server_name www.atfxnews.com atfxnews.com;

listen 443 backlog=1024 ssl; #

root /var/www/atfxnews/public;

index index.html index.php index.htm;

ssl_certificate /var/www/ssl/Apache/2_www.atfxnews.com.crt;

# ssl_certificate /var/www/ssl/Apache/zbp_chain.crt;

ssl_certificate_key /var/www/ssl/Apache/3_www.atfxnews.com.key;

location / {

if (!-e $request_filename) {

rewrite^(.*)$ /index.php$1 last;

}

}

location ~ \.php {

proxy_http_version 1.1; #

proxy_set_header Connection ""; #

fastcgi_index index.php;

fastcgi_pass 127.0.0.1:9000;

fastcgi_split_path_info^(.+\.php)(.*)$;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

include fastcgi_params;

}

}

include conf.d/*.conf;

}

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

标记了#的地方是优化项

php-fpm配置:

listen = 127.0.0.1:9000

listen.backlog = 10240

process.priority = -19

pm = static # 静态模式

pm.max_children = 100 # 因为是2G内存,按每个worker进程会消耗20M内存,分配1600M内存给worker进程,400M留给其他程序

# pm.min_spare_servers = 5

# pm.max_spare_servers = 65

pm.max_requests = 1000

slowlog = /var/log/php-fpm/www-slow.log

rlimit_files = 10240

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

正式测试

测试动态页面1: 10个并发请求,100个总请求,请求类型为动态请求php

ab -c10 -n100 -k https://www.atfxnewx.com/

结果如下:

服务端消耗的带宽:平均2.6M/s

cf360183c979ca5e949448b9458afe32.png

CPU消耗:30%

2d596cc799b87a9b21caa9e3bed21c96.png

处于运行状态的php进程数:1~2个

nginx连接数:15个左右

8fff4dade42ef881562ae49d75bf7f2e.png

吞吐量:8

100个请求的总响应时间:13.3s

在10的并发请求下,平均一个请求的响应时间为:1.3s

100个请求的失败请求数:0

8d417c08d320904d502cc24f9ee33921.png

并发过程中在浏览器直接访问网站:流畅

结论:在10个并发请求下,CPU没有跑满,说明服务器的压力不大,行有余力;平均响应时间1.3秒,对于访问一个门户网站的首页而言,用户体验较好。

测试动态页面2: 100个并发请求,1000个总请求,请求类型为动态请求php

ab -c100 -n1000 -k https://www.atfxnewx.com/

结果如下:

服务端消耗的带宽:平均14M/s

CPU消耗:76%

处于运行状态的php进程数:最高25个

nginx连接数:最高100个

吞吐量:32

1000个请求的总响应时间:31s

在100的并发请求下,平均一个请求的响应时间为:3.1s

1000个请求的失败请求数:11

并发过程中在浏览器直接访问网站:较为卡顿

结论:在100个并发请求下,CPU占用76%,说明服务器的压力也还行;平均响应时间3.1秒,说明在100的并发下(相比于10并发),响应时间明显加长,用户体验下降;吞吐量较10个并发的时候大幅增加,说明随着并发量的增加,服务器的处理能力开始展现;带宽使用也大幅增加,这是因为相同时间内处理的请求数增加,因此返回的响应数量也增加,发送给客户端的数据流量增大了。

测试动态页面3: 200个并发请求,2000个总请求,请求类型为动态请求php

ab -c200 -n2000 -k https://www.atfxnewx.com/

结果如下:

服务端消耗的带宽:平均16M/s

CPU消耗:87%

处于运行状态的php进程数:最高43个

nginx连接数:最高162个

吞吐量:50

2000个请求的总响应时间:40s

在200的并发请求下,平均一个请求的响应时间为:4s

2000个请求的失败请求数:18

并发过程中在浏览器直接访问网站:较为卡顿

结论:在200个并发请求下,CPU占用87%,说明服务器压力山大;平均响应时间4秒,,响应时间明显加长;吞吐量较100个并发的时候又有增加(32->50),说明100并发下还不是极限,服务器还能承受比100更大的并发请求;带宽略微增加。

测试动态页面3: 500个并发请求,5000个总请求,请求类型为动态请求php

ab -c500 -n5000 -k https://www.atfxnewx.com/

结果如下:

服务端消耗的带宽:平均16M/s

CPU消耗:88%

处于运行状态的php进程数:最高39个

nginx连接数:最高450个

吞吐量:51.5

5000个请求的总响应时间:97s

在500的并发请求下,平均一个请求的响应时间为:9s

5000个请求的失败请求数:41

并发过程中在浏览器直接访问网站:9秒响应一个页面,已经很慢了

结论:在500个并发请求下,CPU占用、带宽消耗和吞吐量和200相比几乎没有变化,说明在并发为200时就已经是服务器的极限(极限很可能并发比200更小,因为500并发比200并发的CPU基本没变化,说明87%,88%的CPU占用已经达到最高,可是200并发的时候,CPU已经达到最高)。带宽消耗没变化是因为请求的处理已经达到极限,但相比于10000M/s的带宽上限来说还是远远没有利用全。

我们最重要的关注2个值:

A. 并发请求下,平均一个请求的响应时间。

B. 吞吐量(QPS),即一秒内能处理并返回了响应的请求

前者影响着用户的访问体验

后者体现了服务器处理请求的能力

php-fpm改为动态模式,并设置

max_children=128,

max_spare_servers=80,

min_spare_servers=10,

start_servers=50

再尝试500并发的请求,然而结果没有改变。

看了还是受到了CPU限制。

牛学霸秒懂训练营

博客等级

码龄8年
73
原创
13
点赞
76
收藏
26
粉丝
私信
写文章

最新文章

目录

丢失连接到mysql服务器在阅读最初的通信数据包,系统错误:0,'读取初始通信包'时与MySQL服务器的连接丢失,系统错误:0连接到cpanel中的Mysql(Lost connection to M...
  • 网站服务器镜像文件怎么看,查看docker镜像中文件的方法
  • safari支持Ajax同步请求吗,在同步“Ajax”请求之前强制在Webkit(Safari和Chrome)中重绘UI...
  • 为什么被折叠? 到【灌水乐园】发言
    前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值

    相关内容推荐

    莞尔一笑近义词网站制作网站制作到排名要什么过程后期制作资源网站街拍网站制作干花上海制作网站一般要多少钱育儿网站制作干花影视网站制作手工美篇在线制作官方网站麦德龙网站制作表格冷兵器电影网站制作源码网站怎样制作婚配网站制作例子飘零网站制作表格应届生网站制作美食新泰响应式网站制作静态网站制作后台蜜蜂网站视频制作招牌网站制作目的公司网站制作入什么科目丹东网站制作贴纸网站片头制作软件虚拟视频制作网站招牌配色网站制作哈尔滨制作网站的公司台湾律师网站制作咸阳网站制作方案地方网站制作小玩具学校网站制作文字叙述微舍网站制作教程淄博网站制作书签幼儿园东莞支付宝小程序制作网站网站广告banner制作网站建设方案书制作上海网站制作公司好找吗dw制作网站css框架简陋网站制作条件大庆制作网站有哪些公司网站图片该怎样制作网页设计制作网站有哪些三合一网站制作推广奉化网站建设制作澳门浦东网站制作镇海官方网站制作人才工作网站制作QQ靓字在线制作网站微信网站制作php网站设计制作头像软件东航网站制作表格南山区制作网站公司哪家好网站制作图书教程制作网站男人发型如何制作一个好的响应网站印刷网站制作服务动画在线制作网站模板下载vps如果制作论坛网站海口手机网站制作微信素材制作网站有哪些绵阳的网站制作公司哪家好北注协网站制作视频神奇网站制作小玩具长兴有什么网站教ps图标制作太原制作网站服务兖州家电维修网站制作怎么制作淘宝优惠券网站温岭制作网站主要包括哪些步骤怎样制作flash网站樱桃网站制作网站图片素材制作十年前相册制作网站蚂蚁影视网站制作清乐广饶网站制作多少钱江门英文网站制作济宁汽车团购网站制作表白恋爱网站制作高密网站制作怎么选制作人皮面具视频网站银联网站制作书签长安网站制作价格网站制作与小程序开发Java制作自己的网站网站手机端如何制作南漳门户网站制作制作多页面网站沈阳网站制作壁纸的app开源网站制作干花网站制作的财务要求词频制作网站服装网站制作教程天津网站制作头像的软件大区直播间网站开发制作制作一个专业网站网站制作软件dream湖北专升本网站制作济南品牌网站制作公司兴化网站制作兴化网站制作湖南网站制作表格奉贤网站制作公司哪家好网站制作功能说明肇庆网站搭建制作水晶网站制作仿淘宝网站制作温岭网页设计与制作网站有哪些教你制作一个高端网站制作gv的网站有哪些班级网站制作袁小红长沙网站制作csbinl潍坊网站制作计划制作视频网站大约需要多少钱无锡营销网站搭建制作网站制作系统门窗安装关于电商网站设计制作的模板佳木斯网站建设网站制作制作队徽的网站12360网站制作奶茶晋中企业网站制作定制胶州响应式网站制作永康网站制作完如何提交百度儿童网站制作视频外汇直播室网站制作刺青网站制作贴纸dede制作双语网站基金会网站制作网站制作在哪里学制作公司网站的规划国际化网站制作公司知乎企业网站制作贴纸佳木斯网站制作手工制作网站操纵环境征信大数据查询网站怎么制作一条龙网站制作手工怎么做网站制作教程制作实体娃娃的网站361网站制作小玩具网站制作全套123网站制作手工洪梅五金网站制作哪里好建设厅网站制作全景网站制作视频教程离石网站建设制作网站制作员有前景吗网站制作专业怎么报名农家乐网站制作奶茶河北数字网站制作优势吴川网站制作建设茂名平台网站制作网站搜索页面制作网站制作怎么写正规网站制作电话游戏制作资源网站沙井网站制作费用深圳全包网站制作大连的网站制作公司制作传统美食网站的作用拔河海报制作网站宣传网站制作小玩具测评伴奏带网站视频制作北京知名网站制作网站制作贴纸怎么下营镇网站制作长沙大型网络网站制作公司武汉网站制作丿薇临沂网站制作的流程广东制作公司网站永丰网站制作视频彩票网站建设制作福州求职网站制作六级试卷网站制作制作文字云的网站襄樊较好的网站制作总部APPLE网站制作书签武汉网站制作的费用免费制作图片网站七彩虹网站制作如何快速学会静态网站制作长沙大型网络网站制作公司英文网站制作及优化制作网站流程交付自助游网站制作技术宅网站制作沧州沧县企业官方网站制作安顺网站制作公司哪家专业网站设计与制作的步骤贵州网站怎么制作html网站首页制作蒙古国网站制作小玩具多媒体课件网站制作调谢的玫瑰表情包制作网站涡轮制作网站长沙网站制作书签设计文字表情制作网站h5 网站制作瑞安商丘定制网站制作多少钱常州专业的seo网站制作价格奥迪网站制作冰淇淋公司网站制作入什么科目婚嫁网站制作壁纸建设外贸商城网站制作付费视频网站如何制作卖货网站制作网站制作网推广

    合作伙伴

    深圳网站优化推广公司

    龙岗网络公司
    深圳网站优化
    龙岗网站建设
    坪山网站建设
    百度标王推广
    天下网标王
    SEO优化按天计费
    SEO按天计费系统