使用阿里云 性能测试 PTS 模拟并发 http 请求

1、决定在测试环境中模拟出使用 file_put_contents() 同时写入同一路径文件的情况,然后观察是否会出现读取文件内容为空的情况。

require.php

<?php

$i = rand();
$path = 'return.php';
$contents = [
 'a',
 'b',
 'c',
 'd',
 'e',
 'f',
 'g',
 'h',
 'i',
 'j'
];

if (file_exists($path)) {
 $read = file_get_contents($path);
 if (empty($read)) {
  file_put_contents('empty-' . rand() . '.php', $read, LOCK_EX);
 }
}
$code = '<?php';
$code .= "\n\n";
$contents = array_merge($contents, [$i]);
$code .= 'return ' . var_export($contents, true) . ';';
file_put_contents($path, $code, LOCK_EX);

?>

2、由于只是临时使用一下,商品类型选择 按量抵扣资源包 ,资源包类型选择 体验版,同时最多模拟1千个虚拟用户。如图1

图1

3、创建测试场景,压力模式选择 并发模式(虚拟用户模式),递增模式 手动调速,最大并发 10,压测总时长 2 分钟,预估消耗1000VUM。如图2

图2

4、接口测试,选择刚才创建的场景,性能测试PTS/压测中。如图3

图3

5、查看 性能测试PTS/报告详情,总请求数 4.9w。如图4

图4

6、查看程序运行结果,确定生成了 2万多 个文件,分别为:return.php、以及大量以 empty- 开头的文件。如图5

图5

永夜

View Comments