PHP模拟高并发

版权声明:gg原创,未经授权不得转载。 https://blog.csdn.net/qq_34965877/article/details/82762048

什么是高并发?

高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。

高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。

响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。

吞吐量:单位时间内处理的请求数量。

QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。

并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。
原文链接:https://blog.csdn.net/DreamWeaver_zhou/article/details/78587580

简单模拟高并发

就是想办法一次性多个程序访问同一个程序

start.php(开始程序,原理循环打开多个窗口)

<?php
$end = 10;//打开窗口数量 也就是并发访问数量
for ($i=0; $i < $end; $i++) { 
	echo '<script language="javascript">window.open ("test.php", "_blank");</script>';
}
?>

test.php(测试程序,原理循环访问同一程序,由于是同时访问test.php的,所以接下来的程序就会重复响应)

<?php
$end = 100;//循环访问接口 达到高并发效果
for ($i=0; $i < $end; $i++) { 
	//要测试的接口 可以换成实际的接口
	$a = file_get_contents('http://localhost/high_concurrency/count.php');
	var_dump($a);//输出返回值 可有可无
}
?>

count.php(接口程序,原理读取文件数字,加1返回,记住新建countlog.txt文件)

<?php
	$datei = fopen("countlog.txt","r");
	$count = fgets($datei,1000);
	fclose($datei);
	$count=$count + 1 ;
	$datei = fopen("countlog.txt","w");
	fwrite($datei, $count);
	fclose($datei);
	return $count;
?>

猜你喜欢

转载自blog.csdn.net/qq_34965877/article/details/82762048