转载自:http://blog.csdn.net/jianfyun/article/details/6431716
参考:http://www.jb51.net/article/59469.htm
基本使用方法:
ab -c 10 -n 100 http://www.test.com/index.php
-c10表示并发用户数为10
-n100表示请求总数为100
http://www.test.com/index.php 表示请求的目标URL
这行表示同时处理100个请求并运行10次index.php文件
如果是https的网址,需要使用abs
工具,与ab
工具在同一目录中。
网上有很多介绍apache的ab的,却很难找到-p选项具体怎么用,简单实践并总结一下:
-p选项指定post文件的位置;-T选项指定post文件的编码方式,默认是明文,如果指定-T ‘application/x-www-form-urlencoded’,则表示post文件使用urlencode
一个小例子
命令: cd /usr/local/apache2/bin
sudo ./ab -c 10 -n 100 -p /home/post -T ‘application/x-www-form-urlencoded’http://www.abc.cn/test
/home/post文件内容: requestData=a%3A1%3A%7Bs%3A7%3A%22topicID%22%3Bs%3A12%3A%22101305598452%22%3B%7D
(根据echo ‘requestData=’ . urlencode(serialize(array(‘topicID’ => ‘101305598452’)));得到)
如何解决并发问题:
加锁
<?php $fp = fopen("/tmp/lock.txt", "w+"); if (flock($fp, LOCK_EX)) { // 进行排它型锁定 fwrite($fp, "Write something here\n"); flock($fp, LOCK_UN); // 释放锁定 } else { echo "Couldn't lock the file !"; } fclose($fp); ?>
加油努力,偶然给学生上课 搜到这个博客了