2

CentOS 6.4 から Siege 3.0.3 を使用しています。

私の質問は次のとおりです。「Siege」はどのように HTTPS プロトコルをサポートしていますか?

これまでのところ、このツールを使用した HTTP サイトのテストは問題ありません。

しかし、HTTPS サイトを処理しているときに、特定の問題 (以下にすべて説明) に直面しています。

誰かが示唆したように、HTTPS を機能させるために、openssl で siege をコンパイルしました。

これを行うには、以下のサイトに記載されている手順に従いました。 http://drewsymo.com/how-to/installing-siege-stress-tester-on-centos-6-3/

簡単に言うと、openssl で siege をコンパイルするために次のコマンドを実行しました。

cd /opt
wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar -zxvf openssl-1.0.1e.tar.gz
cd siege-3.0.3
./configure -with-ssl=/opt/openssl-1.0.1e
make && make install

上記の手順で警告やエラーは発生しませんでした。

しかし、この後も、このツールを使用して HTTPS サイトを処理しているときに、以下の結果が得られます。

問題#1

1000、2000 などの多くのヒットを設定するたびに、以下のエラーが発生します。

"Segmentation fault (core dumped)"

開いているファイルの数を増やすために、「ulimit -n 10000」コマンドを既に実行していることに注意してください。

しかし、これは役に立ちませんでした。

問題#2

[root@localhost ~]# siege --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0" -c10 -r1 -t50S someHTTPSdomain.com
[error] CONFIG conflict: selected time and repetition based testing: No such file or directory
defaulting to time-based testing: 50 seconds
** SIEGE 3.0.3
** Preparing 10 concurrent users for battle.
The server is now under siege...
HTTP/1.1 302   0.09 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.11 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.08 secs:       0 bytes ==> GET  /
HTTP/1.1 302   3.09 secs:       0 bytes ==> GET  /
.....................
.....................
.....................

Then after many such hits exceeding the above defined 10 hits, I had to press Ctrl+C.

After that, it shows,

^C
Lifting the server siege...      done.

Transactions:                      0 hits
Availability:                   0.00 %
Elapsed time:                  18.70 secs
Data transferred:               0.00 MB
Response time:                  0.00 secs
Transaction rate:               0.00 trans/sec
Throughput:                     0.00 MB/sec
Concurrency:                    3.19
Successful transactions:          30
Failed transactions:              28
Longest transaction:           12.10
Shortest transaction:           0.07

FILE: /usr/local/var/siege.log
You can disable this annoying message by editing
the .siegerc file in your home directory; change
the directive 'show-logfile' to false.
[root@localhost ~]#

HTTPS サイトの場合、トランザクションが常に 0 ヒットを示すのはなぜですか?

「-c10 -r1」を指定した後でも、HTTPS サイトのスクロール出力が停止しないのはなぜですか?

また、すべての HTTP 応答が HTTPS サイトに対して 30X を示しているのはなぜですか?

このエラー「[エラー] CONFIG の競合: 選択された時間と繰り返しベースのテスト: 時間ベースのテストにデフォルト設定されているそのようなファイルまたはディレクトリはありません: 50 秒」が表示され続けるのはなぜですか?

とにかく、上記のコマンドから -t50S を削除しても、「[エラー] CONFIG コンフリクト: 選択された時間と繰り返しベースのテスト: 時間ベースのテストにデフォルト設定されているそのようなファイルまたはディレクトリはありません: 50 秒」というエラーは表示されません。

しかし、それでもトランザクションは 0 ヒットとして表示されます。下記参照。

[root@localhost ~]# siege --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0" -c10 -r1 someHTTPSdomain.com
** SIEGE 3.0.3
** Preparing 10 concurrent users for battle.
The server is now under siege...
HTTP/1.1 302   0.08 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.08 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.09 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.11 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.07 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.09 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.08 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.08 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.08 secs:       0 bytes ==> GET  /
HTTP/1.1 302   0.10 secs:       0 bytes ==> GET  /
done.

Transactions:                      0 hits
Availability:                   0.00 %
Elapsed time:                   2.14 secs
Data transferred:               0.00 MB
Response time:                  0.00 secs
Transaction rate:               0.00 trans/sec
Throughput:                     0.00 MB/sec
Concurrency:                    0.40
Successful transactions:          10
Failed transactions:              10
Longest transaction:            0.11
Shortest transaction:           0.07

FILE: /usr/local/var/siege.log
You can disable this annoying message by editing
the .siegerc file in your home directory; change
the directive 'show-logfile' to false.
[root@localhost ~]#

問題#3

もう 1 つのことですが、次のように HTTPS URL の前に「https://」を付けると、次のような出力が得られることに気付きました。

[root@localhost ~]# siege --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0" -c10 -r1 https://someHTTPSdomain.com
** SIEGE 3.0.3
** Preparing 10 concurrent users for battle.
The server is now under siege...
done.

Transactions:                      0 hits
Availability:                   0.00 %
Elapsed time:                   1.06 secs
Data transferred:               0.00 MB
Response time:                  0.00 secs
Transaction rate:               0.00 trans/sec
Throughput:                     0.00 MB/sec
Concurrency:                    0.00
Successful transactions:           0
Failed transactions:              10
Longest transaction:            0.00
Shortest transaction:           0.00

FILE: /usr/local/var/siege.log
You can disable this annoying message by editing
the .siegerc file in your home directory; change
the directive 'show-logfile' to false.
[root@localhost ~]#

単純に、HTTP やその他の応答メッセージはありません。

HTTPS サイトを処理しているときに、これらの結果に混乱しています。コマンドの発行中に何か間違ったことをしたのか、それともこのツールのバグまたは制限なのかは明らかではありません。

上記のコマンドでは、すべてのコマンドで「 --user-agent= 」を使用して、有効な Windows 8 (Firefox ブラウザーを使用) ユーザーエージェントを使用したことを言及したいと思います。デフォルトの Siege ユーザーエージェント " JoeDog/1.00 [en] (X11; I; Siege 3.0.3) "を置き換えるためだけにこれが好きでした。このデフォルトの Siege ユーザーエージェントは多くの Web サーバーでブラックリストに登録されている可能性があるためです (よくわかりません)。

親切に誰かガイドしてください。

前もって感謝します。

4

3 に答える 3

0

別の投稿が言ったように、 --with-ssl オプションを使用して構成する必要があります。さらに、openssl 開発ヘッダーをインストールする必要があります。SSL ヘッダー ./configure がない場合、make および make install は正常に実行され、動作する siege バイナリがインストールされますが、HTTPS を処理することはできません。

于 2015-12-02T05:24:07.923 に答える
-1

まったく同じ問題がありました。私は最初に

./configure --with-ssl=/usr/bin/openssl

これは正常にコンパイルされますが、https を使用しようとするとコアダンプが発生します。これは、ssl lib へのパスを指定する必要があるためです。

./configure --with-ssl=/usr/lib64/openssl

その後、包囲はsslを処理できます

于 2015-08-25T13:29:48.457 に答える