Mac下使用Web服务器性能/压力测试工具webbench、ab、siege

Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准,下面我们来一一剖析他们的使用方式。

测试前,前面先把系统的端口限制数改大,看看Mac下面的默认限制

ulimit -a

open files (-n) 2560

2000多的fd数是很小的,我们把他改大,当然我测试过了,也只能开10000而已,Linux可以开6W多,所以:

ulimit -n 10000

在用 ulimit -a 检查一下

open files (-n) 10000

接下来把cpu检查打开,通常我们只看使用率最高的那个即可:

top -n1

-n3 就是前面3个了,以此类推。

OK我们可以继续了。。。

webbench

webbench是一枚强大得可以的压力测试工具,它最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。

安装:

sudo port install webbench

用法:

webbench -c 并发数 -t 运行测试时间 URL

如:

webbench -c 5000 -t 120 http://www.epooll.com

ab

ab是Apache自带的压力测试工具,非常小巧,可惜的是在mac下面表现不佳,跳动太大,而且还会出现 apr_socket_recv: Connection reset by peer (54) 的错误。ab想说爱你不容易呀,不过Linux下还是比较稳定的,所以还是来说说用法吧。

安装:

http://apache.mirrors.pair.com/httpd/

用法:

ab -c 并发数 -n 请求数 URL

如:

ab -c 1000 -n 10000 http://www.epooll.com

当然其他用法就自己 man ab 然后好好看文档啦

siege

siege是我解决ab该死的 apr_socket_recv: Connection reset by peer (54) 错误时发现的一个好工具,不得不说这工具真心好,用法和webbench一样,但是信息全面很多。

安装:

sudo port install siege

用法:

siege -c 并发数 -t 运行测试时间 URL

如:

siege -c 1000 -t 5s URL

这里要注意的是-t后面的时间要带单位,s表示秒,如果不带,就是分钟,分钟的单位,还是挺长的,所以要注意一下。

posted @   jevan  阅读(2316)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示