资讯专栏INFORMATION COLUMN

服务器压力测试:Apache Bench和siege

CoorChice / 3266人阅读

Apache Bench
apt-get install apache2-utils
yum install httpd-tools

使用方法:

ab -n 100 -c 10 -l http://www.your_site.com/
-n number 总的请求数
-c concurrency 并发数
-l 表示当某个请求的回复长度不与第一个请求的回复长度一致时,不把它作为失败的请求
-p 发送post请求并指定post参数文件

ab 使用很方便,可是问题在于,当我们需要在一个test中对多个 URL 进行并发请求的时候,ab没法做到。这时,我们可以用 siege。

siege

siege 安装方式有两种,可以用 homebrew或自己编译:

brew install siege

还可以直接下载压缩包

curl -C - -O http://download.joedog.org/siege/siege-latest.tar.gz
tar -xvf siege-latest.tar.gz
cd siege-4.0.2
./configure
make
make install

常见参数

-t time 测试时间,比如 60s 或 5M
-c concurrency 并发数
-r repetitions 重复做几轮
-f text file 从外部文件读取参数值
-d delay 延迟时间默认是1秒; 如果设置为 -d 5 表示是在1-5秒之间的随机延迟时间

多个请求
在 siege-urls.txt 文件中定义两个不同的并发请求 Get 和 Post。order.json 中是 json格式的消息体。

#siege-urls.txt
https://api.appletest.com/v1/apps/app_f1KG/orders/12345
https://api.appletest.com/v1/apps/app_f1KG/orders/12345 POST <./order.json

执行命令

siege  --header="Authorization:Bearer your_username" -f siege-urls.txt

参考

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/8788.html

相关文章

  • Apache Bench压力测试

    摘要:为什么呢因为不要忘了服务器是,关闭这些文件描述符只是客户端的,意味着文件描述符可以被再次分配,但服务端依然保有,它的资源没有被释放,限制依旧存在。 前言 Apache Bench是一个简单易用的压力测试工具,在这里我不想多讲。今天主要说的是写一个py脚本来自动化测试过程,以及中间遇到的一些奇葩问题。 测试脚本 python#!/usr/bin/env python # enco...

    entner 评论0 收藏0
  • web开源测试工具-siege

    摘要:简介是一款开源的压力测试工具,设计用于评估应用在压力下的承受能力。可以根据配置对一个站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。但不要使用来执行最高性能基准调校测试,这方面就准确很多。 简介 Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有...

    shixinzhang 评论0 收藏0
  • Go 单元测试性能测试

    摘要:测试对于互联网应用软件开发来说非常重要,它对软件可靠性保证具有重要意义,通过测试能够尽可能发现并改正软件中的错误,提高软件质量。这里我们主要讲解语言如何实现单元测试和性能测试。单元测试创建目录,在目录下创建两个文件,为单元测试文件。 测试对于互联网应用软件开发来说非常重要,它对软件可靠性保证具有重要意义,通过测试能够尽可能发现并改正软件中的错误,提高软件质量。 这里我们主要讲解Go语言...

    SimonMa 评论0 收藏0
  • 用 RoadRunner 加速 Laravel 应用

    摘要:是一个用语言实现的高性能服务器,你没看错,是语言实现的。首先用实现了一个高性能的服务器,然后通过把请求转发给多个,会把请求重新封装成交给框架进行处理。娱乐测试使用测试的页面,个并发用户,持续秒,对比和。更新加了解析,解决数据丢失 RoadRunner是一个用Go语言实现的高性能PSR-7服务器,你没看错,是Go语言实现的。 RoadRunner首先用Go实现了一个高性能的服务器,然后通...

    VincentFF 评论0 收藏0
  • [gist]为什么事件驱动务器这么火

    摘要:两个事件驱动模型服务器平均每秒处理的请求数为服务器的一倍,而内存降低了一半。事件驱动模型的出现,是为了解决传统服务器与网络工作负载的需求的不匹配,实现高度可伸缩服务器,并降低内存开销。 from http://oyanglul.us 本文基本上这为两篇文章的翻译和整合 -...

    fsmStudy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<