问题标签 [siege]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
86 浏览

ruby-on-rails - 围攻没有击中 Heroku 应用程序

我正在使用 Siege 对我的应用程序进行一些基本的负载测试。我已经在本地尝试过了,当我在localhost:3000.

但是,每当我尝试在我的生产环境(托管在 Heroku 上的 Rails 应用程序)上运行它时,它都不会产生任何结果 -

如您所见,它获得了 0 次点击。我还可以在应用程序日志中确认没有请求到达服务器。

本地环境和托管环境之间的唯一区别是使用https://SSL 以及它通过 DNS 和其他 Heroku 路由进行路由的事实。

日志文件也没有提供任何信息或错误。另一个 StackOverflow 帖子建议设置proxy-hostand proxy-port,但我不太熟悉它们的作用以及它们与 Heroku 的关系。

作为旁注,我在.siegerc配置文件中更改的唯一真实的事情是添加了一行以允许我的请求进行身份验证-

谢谢!

编辑: - 这是我的整个攻城配置文件。它几乎是库存模板,唯一改变默认值的是login-url上面提到的 - http://pastebin.com/JuA9MUG2

0 投票
1 回答
814 浏览

load-testing - Siege - 为什么我会收到所有这些回复?

我对 Siege 在幕后所做的事情感到困惑。我不时使用 Siege 为我的 Web 服务创建一些流量。今天我注意到 Siege 列出的响应比我预期的要多。

例如,我使用 Siege 作为

siege -c 1 -t 5s http://www.github.com/index.html

我希望只看到一个带有“index.html”HTML 资源的响应。但相反我得到

前 2 个是重定向,然后是预期的 HTML。但是为什么我会得到所有其他的图像、JS 和 CSS 资源呢?我无法想象 Siege 实际上会解析 HTML 并从那里请求资源。我迷路了。

0 投票
3 回答
8390 浏览

linux - 围攻 https 错误:HTTPS 需要 libssl

我无法让围攻与 https 一起工作。在预装 OpenSSL 1.0.2g 和 libssl-dev 1.0.2g-1ubuntu4.6 的 Ubuntu 16.04 LTS 上运行 Siege 4.0.2。

错误
当我运行它时,我得到了很多这样的错误:
[error] HTTPS requires libssl: Unable to reach www.mysite.com with this protocol: Transport endpoint is already connected

还有其中的几个
[error] descriptor table full sock.c:133: Too many open files

然后终于
libgcc_s.so.1 must be installed for pthread_cancel to work
[1] 18421 abort (core dumped) sudo siege -t 5M -d1 -c200 -f urls-f1.txt

我的研究
我在网上找到了一些关于让 siege 使用 https 的答案。例如,stackoverflow上的这个线程说“使用 --with-ssl 选项进行配置。此外,必须安装 openssl 开发头文件”。

也许最好的来源是siege 包本身的 INSTALL 文件,它说:
要启用 https,您必须在系统上安装 ssl。从http://www.openssl.org获取最新版本。安装 ssl 后,您必须配置 siege 才能使用它:

openssl 默认安装是 /usr/local/ssl。如果您在该目录中安装了 openssl,那么您将像这样配置 siege:

我尝试了所有这些建议,并发现了更多相同的建议。但我仍然坚持上面显示的错误。也许我错过了什么,或者最新的软件或操作系统有问题。下一部分显示了我为设置机器所做的工作。

我如何设置机器
我在 DigitalOcean 上使用新的 VPS 并预装了 Ubuntu 16.04.1。在设置了一个额外的用户、SSH 访问和防火墙之后,这就是我设置 siege 所做的。

  1. 更新系统
    sudo apt-get update && sudo apt-get upgrade --show-upgraded

  2. 安装 GNU 编译器集合
    sudo apt-get install build-essential

  3. 安装 openssl 开发头文件包
    sudo apt-get install libssl-dev

  4. 下载围攻并解压
    wget http://download.joedog.org/siege/siege-latest.tar.gz
    tar -zxvf siege-latest.tar.gz

  5. 配置和安装 siege
    cd siege-*/
    找到 openssl 所在的位置:
    which openssl 将此信息用于 with-ssl 标志
    ./configure --with-ssl=/usr/bin/openssl
    make
    sudo make install

我的问题
请帮助我使用 https URL 进行围攻。在回答这个问题时,请知道我对 Linux 管理员的东西还很陌生,因此非常感谢您详细说明该做什么。

0 投票
2 回答
1927 浏览

macos - 如何使用 libssl 安装 Siege?

我正在尝试在 Mac OS 10.12 上使用 libssl 安装Siege,但是当我针对httpsurl 使用该实用程序时,我收到以下错误。

[错误] HTTPS 需要 libssl:无法使用此协议访问https://example.com/ :套接字已连接

我正在使用此wiki中的以下命令进行安装:

0 投票
0 回答
534 浏览

performance - 如何在围攻中测试https API?

我开发了一个 REST API,其形式为

这也将 jwt 令牌作为 http 标头。

所以我想用 1000 个用户同时使用 siege 来测试这个 api。所以我安装了 siege 并用

但它返回了

但是当我安装时,我安装如下:

我按照手册中的方式安装了,但我不知道为什么会出现找不到主机的错误。感谢您的帮助。

0 投票
2 回答
3461 浏览

java - 如何对 JWT Secured Rest API 进行负载测试

我正在使用 Spring 开发 REST API (HTTPS),现在需要对 1000 个并发用户进行负载测试。问题是我使用 siege 进行负载测试,但它无法测试 jwt 令牌标头。这是执行负载测试的最佳方法在我的情况下?

0 投票
1 回答
465 浏览

php - 通过使用 bash 脚本生成的动态 url 使用 siege 进行基准测试

我想使用 siege 对具有不同 url 的 1M 请求进行基准测试,我需要知道我是否可以创建一个 bash 脚本来执行随机循环或 php 脚本来从数据库中读取 url 并创建动态 url 并将此 urls 提供给 siege 命令进行台架测试?

例如我有这种类型的 banner_sizes :

而且我有这些身份证:

我需要使用上述信息创建这些类型的 url:

和更多这样的。

有没有办法创建这个 url 并将它们放在 txt 文件中,然后运行我的 siege 命令:

还是使用 apache ab bench test ?

0 投票
0 回答
1337 浏览

load-testing - 如何删除此错误“套接字:读取检查超时(30)sock.c:240:连接超时”

我正在 ubuntu 16.04 环境中开发 siege 4.0.2。当我模拟超过 1100 个用户时,我需要一个失败的事务,我知道如果事务失败意味着服务器内存有问题,可能是由于失败而导致的。如何理解失败的交易?以及如何解决交易失败的问题来了?

当我模拟 1100 个用户时,我得到了一个error discriptor tables full sock. c 119: Too many open files,然后我做ulimit - n 10000了,错误就消失了。然后我再次模拟1100个用户,我得到一个新的错误

无法抛出错误。如何消除此错误?任何人请帮助我

0 投票
1 回答
1342 浏览

node.js - 错误 503 服务不可用 - 同构 React 应用程序

您好,我的应用程序基于 React 入门套件(node js 应用程序),我构建它并将其作为 docker 映像上传。并用 siege 和 with 做了一些压力测试apache-jmeter,当并发用户超过 70 时,我得到错误成功 200

[错误]套接字:无法连接sock.c:230:没有这样的文件或目录[错误]套接字:无法连接sock.c:230:协议不支持地址族[错误]套接字:无法连接sock.c :230: 协议不支持地址族 HTTP/1.0 503 0.39 秒:108 字节 ==> GET / HTTP/1.1 200 2.43 秒:37457 字节 ==> GET /

网站从 503 上下移动到 200 又一样。当错误 503 我无法访问网站并且它给我 503 服务不可用时。

当并发用户少于 65 时,它可以正常工作且没有错误,我可以访问网站。

我也尝试在本地测试站点,但我只收到此类错误而没有 503:-

任何建议如何解决此问题或获取错误来源?

0 投票
1 回答
713 浏览

benchmarking - [alert] HTTP 的原因是什么:无法确定块大小

我在围攻中遇到这个错误,我不太确定它的原因是什么: [alert] HTTP: unable to determine chunk size- 这似乎是随机发生的,但是当它确实发生时,它会连续发生多次。

它会影响我的基准测试结果吗?