压力测试

实验环境

1、LAMP平台,虚拟机Centos7.4操作系统,2G内存。Apache版本为Apache/2.4.6 (CentOS),Mysql版本为Mysql-5.17.7,PHP版本为PHP 5.4.16             IP地址为172.17.2.199

2、LNMP平台,虚拟机Centos7.4操作系统,2G内存。Nginx版本为 nginx/1.10.3,Mysql版本为Mysql-5.17.7,PHP版本为PHP 7.2.2                              IP地址为172.17.2.198

实验的页面分三种。一种是静态页面。第二种是PHP解析页面,第三种是数据库连接页面。(第二种,第三种也统称为动态页面)。

实验一、使用time命令,测试PHP的版本性能差异。

 

<?php
$n=0;
$start = 1;
$end = 500000;
for($num = $start; $num <= $end; $num++) {
	
if ( $num == 1 ) continue;
for ($i = 2; $i <= sqrt($num); $i++) { 
if ($num % $i == 0) continue 2;
}
$n++;
}
print_R($n."\n");
?>

这个是测试PHP性能的脚本。是求1-50万之间的质数和。

测试1、使用PHP 5.4.16进行测试

测试2、使用PHP 7.2.2进行测试

结论:测试1,测试2,我进行了多次测试。结果差异不大。从测试结果中得出,sys项,也就是系统项是没太大的差异的。系统配置完全一致的。影响解析的,是user,也就是php软件自身。PHP 7.2.2 版本的解析性能,大致是PHP版本为PHP 5.4.16的三倍。

实验二、测试Apache的性能上限。

测试1、访问静态页面,工具使用ab工具

ab -c 1000 -n 8000 http://172.17.2.199/index.html

模拟1000个用户,访问次数8000次,用时25.86秒,出现69个错误。

降低模拟数值

ab -c 800 -n 8000 http://172.17.2.199/index.html

还是出现错误。再次降低

ab -c 600 -n 8000 http://172.17.2.199/index.html

测试通过,0失败。再次测试,提升模拟人数,降低访问次数

ab -c 800 -n 5000 http://172.17.2.199/index.html

ab -c 1000 -n 5000 http://172.17.2.199/index.html

结论,从这里可以看出,均衡模拟人数和访问次数来说。800人数,访问5000次,是一个极限。600人数,8000次访问,是一个极限。我们用这2个极限数值,去跑一下LNMP平台的静态页面。

实验三、测试LNMP平台的性能上限。

ab -c 800 -n 5000 http://172.17.2.198/index.html

0.477秒。完成。

ab -c 600 -n 8000 http://172.17.2.198/index.html

这个性能是秒了Apache了吧。再加大测试

ab -c 1000 -n 20000 http://172.17.2.198/index.html

再次加大

ab -c 2000 -n 30000 http://172.17.2.198/index.html

再次加大

ab -c 10000 -n 30000 http://172.17.2.198/index.html

1000模拟访客,访问次数30000.出现失败。降低

ab -c 8000 -n 300000 http://172.17.2.198/index.html

夸张了吧。对比Apache。这个数值,夸张了。我没有再次继续加大访问次数了,2G的内存,块耗光了。这个配置的服务器。只能并发到这个程度了。

接下来的实验,我们做动态网页的压力测试。先做PHP的。由于PHP版本的性能差异。所以这个实验比较的是,静态页面访问的并发,和动态页面访问的并发。而不是对比Apache,Nginx的差别了。

实验1、按照1:10的说法,测试LAMP的php动态页面压力。

ab -c 80 -n 500 http://172.17.2.199/testphp.php

上图可知,在跑动态网页的时候,模拟80个用户,访问次数500次,内存消耗不多,但cpu的负载节节上升。并且,还是没抗住这个并发。

LAMP测试动态页面,降低模拟访客和访问次数。

ab -c 10 -n 10 http://172.17.2.199/testphp.php

增大测试

降低

结论:LAMP跑动态页面,模拟10个访客,访问次数10次。为极限。

实验二、LNMP访问动态页面

ab -c 50 -n 50 http://172.17.2.198/testphp.php

加大

降低

 

降低

结论,LNMP平台极限是60访客,60次访问。

从这里我们可以得出,同样一台服务器,可以上百上千的跑静态页面,但跑动态页面,会占据大量的系统资源。例如cpu和内存。从实验中得出,PHP的解析主要占用cpu资源。跑数据库的页面,占用内存(实验就不做了,2G的内存,随时死机)。那么这里就引申出一个优化的方向,拆。分离数据库。调度器负载均衡等等方向。

最后,Apache采用的是prefork(进程)模式,Nginx这里用的是epoll(时间触发)模式。

 

https://blog.csdn.net/qq_27592485/article/list/2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值