标签: apachebench

在django服务器上使用ab(apache基准测试)发出POST请求

我正在尝试使用ab向使用django构建的表单发出HTTP POST请求.

我正在使用以下行:

ab -n 10 -C csrftoken=my_token -p ab_file.data -T application/x-www-form-urlencoded http://localhost:8000/
Run Code Online (Sandbox Code Playgroud)

ab_file.data看起来像这样:

url=my_encoded_url&csrfmiddlewaretoken=my_token
Run Code Online (Sandbox Code Playgroud)

它始终返回403状态代码.

当我使用curl相同的参数时,它的工作原理.卷曲线:

curl -X POST -d "url=my_encoded_url&csrfmiddlewaretoken=my_token" --cookie "csrftoken=my_token" http://localhost:8000/
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

django post apachebench

13
推荐指数
3
解决办法
3万
查看次数

如何在 mac 上安装 apache 基准测试

我正在尝试使用以下命令通过 brew 在我的 macos(macOS Mojave)上安装 Apache BenchMark:

brew install homebrew/apache/ab
Run Code Online (Sandbox Code Playgroud)

收到此错误:

Error: homebrew/apache was deprecated. This tap is now empty and all its contents were either deleted or migrated.
Run Code Online (Sandbox Code Playgroud)

apache macos apachebench

12
推荐指数
1
解决办法
7116
查看次数

Apache Bench和POST数据

我正在尝试使用apache bench在我的rails应用程序中加载测试创建操作,但是ab似乎没有发送POST数据 - 尽管它确实提交了POST而不是GET请求.

这是我运行的命令:

ab -n 1 -p post -v 4 "http://oz01.zappos.net/registrations"
Run Code Online (Sandbox Code Playgroud)

这是帖子文件的内容:

authenticity_token=M18KXwSOuIVbDPZOVQy5h8aSGoU159V9S5uV2lpsAI0
Run Code Online (Sandbox Code Playgroud)

rails日志显示POST请求,但不显示任何发布的参数:

Started POST "/registrations" for 10.66.210.70 at Thu Sep 09 17:48:06 -0700 2010
  Processing by RegistrationsController#create as */*
Rendered registrations/new.html.erb within layouts/application (14.0ms)
Completed 200 OK in 24ms (Views: 14.6ms | ActiveRecord: 0.1ms)
Run Code Online (Sandbox Code Playgroud)

而来自浏览器的POST请求会导致此日志条目:

Started POST "/registrations" for 192.168.66.20 at Thu Sep 09 17:49:47 -0700 2010
  Processing by RegistrationsController#create as HTML
  Parameters: {"submit"=>"true", "authenticity_token"=>"AfNG0UoTbJXnxke2725efhYAoi3ogddMC7Uqu5mAui0=", "utf8"=>"\342\234\223", "registration"=>{"city"=>"", "address"=>"", "name"=>"", "zip"=>"", "optin"=>"0", "state"=>"", "email"=>""}}
Rendered registrations/new.html.erb within …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails apachebench

10
推荐指数
2
解决办法
2万
查看次数

什么是Apache Benchmark中的并发请求(-c)?

什么是apache基准测试中的并发请求(-c)?

我认为是在单个时间点创建的同时请求(处理)的数量?

任何人都可以解释我错了吗?你能举例说明并发请求是如何工作的吗?我怎样才能测试这个Boundary Value Analysis(BVA)测试

apache apachebench

10
推荐指数
2
解决办法
1万
查看次数

如何解释Siege和/或Apache Bench结果

我们有一个MySQL驱动的网站,有时会在48小时内获得100K用户,所有用户都登录到网站并进行购买.

我们正在尝试使用Apache Bench和Siege等工具来模拟这种负载.

虽然关键指标在我看来是并发用户的数量,而且我们得到了报告结果,但我们仍然觉得我们处于黑暗中.

我想问的是:我们应该测试什么样的东西来预测这种流量?

50个并发用户1000次?500个并发用户10次?

我们正在查看数据库错误,Apache超时和响应时间.我们还应该注意什么?

这是一个模糊的问题,我知道没有"正确"的答案,我们只是在寻找一些关于如何确定我们的基础设施可以切实处理的一般性想法.

提前致谢!

stress-testing apachebench

9
推荐指数
1
解决办法
3915
查看次数

如何验证AB回复?

有没有办法确保AB从服务器获得正确的响应?例如:

  • 强制它将单个请求的响应输出到STDOUT OR
  • 要求它检查一些文本片段是否包含在响应正文中

我想确保身份验证正常工作,我正在测量目标页面的响应时间,而不是登录表单.

目前,我只是代替ab -n 100 -c 1 -C "$MY_COOKIE" $MY_REQUESTcurl -b "$MY_COOKIE" $MY_REQUEST | lynx -stdin.

如果不可能,是否有其他更全面的工具可以做到这一点?

apachebench

9
推荐指数
2
解决办法
1万
查看次数

如何在Apache Bench中发送多个查询字符串?

ab -n 1 -c 1 http:// localhost:2020/welTo.do?pxtId = 3000007937&superDo = jack

我得到第一个查询字符串的答案,但我也得到了

'superDo'不被识别为内部或外部命令,可操作程序或批处理文件.

请帮我

TIA

关心thiru

apache benchmarking apachebench

8
推荐指数
2
解决办法
7563
查看次数

ApacheBench的替代方案,用于分析我的代码速度

我已经做了一些使用Apache Bench来分析我的代码响应时间的实验,但它并没有为我生成正确的数据类型.我希望这里的好人有想法.

具体来说,我需要一个工具

  • 是否通过网络请求HTTP(它不需要做任何非常花哨的事情)
  • 尽可能准确地记录响应时间(至少几毫秒)
  • 将响应时间数据写入文件而不进行进一步处理(或将其提供给我的代码,如果是库)

我知道ab -e,它将数据打印到文件.问题是这只打印了分位数据,这很有用,但不是我需要的.该ab -g选项可以工作,除了它不打印亚秒数据,这意味着我没有我需要的分辨率.

我写了几行Python来做,但是httplib非常低效,结果没用.一般来说,我需要比纯Python更精确的精度.如果有人对Python可以使用的库有建议,我会全力以赴.

我需要一些高性能,可重复且可靠的东西.

我知道,我的一半回答将是"互联网延迟使得那种详细的测量毫无意义".在我的特定用例中,这不是真的.我需要高分辨率时序细节.实际使用我的HPET硬件的东西会很棒.

由于答案和观点数量较少,因此在这里投入了赏金.

python benchmarking profiling latency apachebench

7
推荐指数
1
解决办法
5923
查看次数

Apache Bench显示高'连接'时间

我正在尝试使用apache bench在我们的API服务器上进行一些非常简单的基准测试,我知道它不是加载测试web服务器的理想工具,但这不是重点.

我们有几台服务器和几台虚拟机(托管在这些服务器上).所有这些都运行相同的nginx,uwsgi和一个cherrypy webapp堆栈.我可以在新服务器(没有VM)上使用apachebench,结果如下:

Server Software:        CherryPy/3.2.2
Server Hostname:        10.0.2.4
Server Port:            5000

Document Path:          /api/v4/ping
Document Length:        245 bytes

Concurrency Level:      1
Time taken for tests:   10.100 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      397000 bytes
HTML transferred:       245000 bytes
Requests per second:    99.01 [#/sec] (mean)
Time per request:       10.100 [ms] (mean)
Time per request:       10.100 [ms] (mean, across all concurrent requests)
Transfer rate:          38.38 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max …
Run Code Online (Sandbox Code Playgroud)

linux performance networking tcp apachebench

7
推荐指数
0
解决办法
762
查看次数

IHttpHandler与HttpTaskAsyncHandler的性能

我们有一个webapp,它通过.NET IHttpHandler(称为proxy.ashx)路由许多请求,用于CORS和安全目的.某些资源加载速度很快,而其他资源则根据这些资源所需的大量计算加载速度慢.这是预料之中的.

在负载很重的情况下,proxy.ashx会慢慢爬行,所有资源都会永远加载.在这些峰值加载时间内,如果绕过代理并直接加载资源,则会立即加载,这意味着代理是瓶颈.
(即http://server/proxy.ashx?url = http:// some_resource加载缓慢,但http:// some_resource自行加载速度快).

我有一个假设,即响应性降低是因为IHttpHandler是同步编码的,当有太多长时间运行的请求处于活动状态时,IIS请求线程都忙.我创建了一个快速A/B测试应用程序来验证我的假设,我的测试结果表明情况并非如此.

这篇文章是我基于请求线程池的理解.

在Web服务器上,.NET Framework维护一个用于为ASP.NET请求提供服务的线程池.当请求到达时,将调度池中的线程来处理该请求.如果同步处理请求,则在处理请求时阻止处理请求的线程,并且该线程无法为另一个请求提供服务....
但是,在异步调用期间,服务器在等待第一个请求完成时不会阻止响应其他请求.因此,当有许多请求调用长时间运行的操作时,异步请求会阻止请求排队.

在下面的示例中,理论上,同步处理程序应该在某个阈值之后占用请求线程,从而阻止更多新请求启动.异步处理程序应该允许更多的请求排队,因为每个请求几乎立即将其请求线程返回到线程池,等待它Task.Delay,允许该请求线程在前一个请求仍在等待时处理新请求.

同步HttpHandler

<%@ WebHandler Language="C#" Class="SyncHandler" %>
using System.Web;
using System.Threading;
public class SyncHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        //BLOCKING artifical pause to simulate network activity
        Thread.Sleep(300);
        var Response = context.Response;
        Response.Write("sync response");
    }
    public bool IsReusable { get { return true; } }
}
Run Code Online (Sandbox Code Playgroud)

异步处理程序

<%@ WebHandler Language="C#" Class="AsyncHandler" %>
using System.Web;
using System.Threading.Tasks;

public class …
Run Code Online (Sandbox Code Playgroud)

.net c# benchmarking performance-testing apachebench

7
推荐指数
1
解决办法
636
查看次数