我尝试使用Is there a way to install Apache Bench (ab) 而不是在我的 centos 上安装 apache解决方案来安装 Apache Benchmark,但是当我运行时yumdownloader httpd
,出现错误:
root@local [~/httpd]# yumdownloader httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: yum.phx.singlehop.com
* elrepo: repos.lax-noc.com
* extras: centos.tcpdiag.net
* updates: mirror.stanford.edu
No Match for argument httpd
Nothing to download
Run Code Online (Sandbox Code Playgroud)
它是什么?我该如何修复它?
编辑 1:我尝试使用 Michael Hampton 方式,但出现以下错误:
root@local [~]# yum provides /usr/bin/ab
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: yum.phx.singlehop.com
* …
Run Code Online (Sandbox Code Playgroud) 您能否提供有关如何在安装或不安装 apache Web 服务器的情况下在 Fedora 发行版上安装 ab 的说明?使用 yum 或从源代码编译。
这是一个很长的问题,所以请耐心等待。
我想强调我从 AWS 实例登录的 Akamai 服务器。所以,我开始运行 ab 基准测试。然而,他们下载大约 3 MB 的视频文件似乎快得离谱。我自然想看看发生了什么。这就是我为获取文件所做的工作
curl -v -o /dev/null
以上操作在约 5 秒内完成。
接下来,我再次运行相同的命令。这一次,它在大约 200 毫秒内完成!当然,我的直觉是文件被缓存在某个地方。
我的问题:
谢谢你,阿克谢
我正在尝试将一台特定 nginx 服务器接收到的流量复制到两台服务器。目标不是负载平衡,而是在所有 nginx 服务器上重放相同的输入。
一个例子:Nginx 收到一个 HTTP POST。我想将这个相同的 POST 发送到其他服务器。
** 更新 **
情况很简单,也不复杂。我只需要将 POST 数据(或 GET 或任何请求数据)重新发送到另一个服务器 IP(它也运行一个 nginx 实例)。只是它。
用户 -> POST 数据 -> NGINX 实例 ----重定向 ---> 服务器 1 和服务器 2
当我在我的网站上运行 ab 时,我收到了很多这样的回复:
SSL read failed - closing connection
SSL read failed - closing connection
SSL read failed - closing connection
Run Code Online (Sandbox Code Playgroud)
有时它是成功的。我使用的是 MacBook Pro 10.7.2。奇怪的是,其他人在我旁边的一台非常相似的机器上进行了相同的测试,而不是 OS Lion,并且没有问题。
有任何想法吗?我确信这是我机器上的东西,因为我让 ab 到处工作。
命令很简单: ab -c 100 -n 1000 https://mywebsite.com
另一件事,当我查看 nginx 日志时,我确实看到了一些来自 ab 的请求,因此它正在工作。而且,日志不显示失败的日志。
似乎没有办法避免这个错误:“验证返回代码:20(无法获得本地颁发者证书)”。有没有办法避免使用 AB 进行发行人 ssl 检查(例如 wget 的 -no-check-certificate 选项)
提前致谢
我需要一些帮助来分析来自 Apache Bench 的日志:
Benchmarking texteli.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software:
Server Hostname: texteli.com
Server Port: 80
Document Path: /4f84b59c557eb79321000dfa
Document Length: 13400 bytes
Concurrency Level: 200
Time taken for tests: 37.030 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 13524000 bytes
HTML transferred: …
Run Code Online (Sandbox Code Playgroud) 我最近更新到 nginx 1.0.8 并尝试对缓存的动态页面(最初由 Django 应用程序通过 proxy_pass 提供服务)和静态页面的性能进行基准测试。在这两种情况下,nginx 都不会服务超过 3 或 4 个请求(即使没有并发连接),因此 ab 几乎立即报告:
apr_socket_recv: Connection reset by peer (54)
Run Code Online (Sandbox Code Playgroud)
只有在选择最多 4 个(或更少)请求时,ab 才能成功完成。
这是为什么?我尝试增加工作进程的数量(运气不好),但我认为 nginx 应该能够在不调整任何配置变量的情况下处理 4 个以上的请求。难道是我不小心触发了某种 DOS 保护机制?
全新安装 nginx 后,我在运行 apache 基准测试时获得了这些结果,我觉得这很奇怪。获取的页面是nginx安装的默认静态index.html测试页面。在本地运行 ab 每秒的请求量非常高,但远程则要低得多。我已经通过这些测试暂时禁用了我的防火墙。
AB -n 100 在本地运行:
文件路径:/ 文件长度:3698 字节 并发级别:1 测试时间:0.21347 秒 完成请求:100 失败的请求:0 写入错误:0 总传输量:391000 字节 传输的 HTML:369800 字节 每秒请求数:4684.50 [#/sec](平均值) 每个请求的时间:0.213 [ms](平均值) 每个请求的时间:0.213 [ms](平均,跨所有并发请求) 传输速率:17847.94 [Kbytes/sec] 接收
AB -n 100 远程运行(在两台不同的机器上尝试过,一台是 windows 7,另一台是 mac os 10.7):
并发级别:1 测试时间:12.502 秒 完成请求:100 失败的请求:0 写入错误:0 总传输量:391000 字节 传输的 HTML:369800 字节 每秒请求数:8.00 [#/sec](平均值) 每个请求的时间:125.020 [ms](平均值) 每个请求的时间:125.020 [ms](平均值,一个 传输速率:30.54 [Kbytes/sec] re 连接时间(毫秒) 最小平均值[+/-sd] 中值最大值 连接:38 43 1.6 42 56 处理:78 82 2.1 82 97 等待:38 43 1.3 43 …
我正在尝试使用ab
4 个运行的 ubuntu 机器集群进行基准测试nginx
,这些机器由另一个正在运行的 ubuntu 机器负载平衡haproxy
。对于那些感兴趣的人,我正在关注sysadmincasts教程系列。我无法从运行 osx 的笔记本电脑上成功地对集群进行基准测试:
? ~ uname -a
Darwin mbp 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64
? ~ system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: OS X 10.11.6 (15G1004)
Kernel Version: Darwin 15.6.0
Boot Volume: Untitled
Boot Mode: Normal
Computer Name: Max’s MacBook Pro
User Name: Max Bigras (max)
Secure Virtual Memory: Enabled
System Integrity Protection: Disabled
Time since boot: …
Run Code Online (Sandbox Code Playgroud) 我在使用 SSL 256 位证书的慢速 Apache 服务器上遇到问题
ab -n 500 https://example.com/
Time per request 29 ms
ab -n 500 http://example.com/
Time per request 10 ms
Run Code Online (Sandbox Code Playgroud)
在两个请求中发送 52 字节,测试是从同一数据中心的服务器完成的
SSLEngine on
SSLProtocol All -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM
Run Code Online (Sandbox Code Playgroud)
SSL 比普通 HTTP 请求慢 3 倍是否正常?