web-dev-qa-db-ja.com

LinuxコマンドラインからのWebサイトのテスト

Linuxコマンドラインからウェブサイトをテストするツールを探しています。

出力から、http応答(ステータスコード)を知る必要がありますが、サイトのさまざまな要素をダウンロードするのにかかる時間のベンチマークも行います。

前もって感謝します。

30
Embreau

-pオプションでwgetを試すことができます。

wget -p http://site.com

各要素のダウンロードにかかる時間と、各リクエストの戻りコードが表示されます。

38
Dan Andreatta

Apacheベンチマークを参照してください。

Apacheベンチマーク

これにより、ページのパフォーマンスの概要がわかります。

9
andre

curlの次のオプションを確認することをお勧めします。

  • --write-out-時間に関連するいくつかの変数のいずれかを表示します
  • --trace-time-各トレースまたは詳細行にタイムスタンプを付加します
  • --verbose
  • --include-(HTTP)HTTPヘッダーを出力に含めます。
  • --trace-ascii <file>-説明情報を含む、すべての着信および発信データの完全なトレースダンプを有効にします

wgetの次のオプション:

  • --timestamping-タイムスタンプをオンにする

あなたの目標が何であるかに応じて、セレンとカールは良いオプションです。また、私がかなり気に入ったユーティリティはtwillです。詳細については http://twill.idyll.org/ を参照してください。

フォームへの入力、リンクの検証、応答コードのチェックのための独自の小さな専用言語があるため、これは素晴らしいことです。 Pythonコードなので、ライブラリを簡単にインポートして、別のことをしたい場合はテストを自動化できます。

3
McJeff

Curlを使用してページのヘッダーを取得し、プロセスの時間を計ります。

time curl -I http://yourpage.com | grep HTTP

これをwhileループでラップすれば、問題ありません。同じ方法で、URLがわかっている場合はすべての要素を確認できます。

2
Sideshowcoder

どのツールを選択するかは、測定する対象とサイトの複雑さによって異なります。

サイトの動作がCookieに依存している場合(たとえば、ユーザーがログインする必要がある場合)、ab/curl/wget(他の回答で説明)では不十分です。 1つの解決策は http :: recorder/www :: mechanize を使用することです。

あなたが求めているすべてのデータはあなたのウェブサーバーのログにあります-そして単純なawkスクリプトはより読みやすい形式でそれを返します。

サイトのさまざまな要素をダウンロードするのにかかる時間のベンチマーク。

これはパフォーマンスの非常に悪い指標です(ただし、運用システムの状態を監視するのに役立ちます)。かさばるレポート、ISOイメージ、マルチメディアファイルなどの大容量/低速のリソースを除いて、パフォーマンスの認識は単一のリクエストの処理にかかる時間とほとんど関係がなく、これを正確に測定することは非常に困難です(単に%を追加するだけ) ApacheログへのDは問題を解決するように見えますが、TCPハンドシェイク、SSLネゴシエーション、キャッシュ効果、DNSルックアップ時間)を無視します。

より良い解決策は Boomerang -のようなものを使用することですが、それはJavascript対応ブラウザで実行されます。これは、個々のHTTPリクエストを追跡するよりも知覚されるパフォーマンスのより良い指標を提供しますが、パフォーマンスの値を導出するためにブラウザーイベントに依存します-しかし、知覚されるパフォーマンスは、ビューポートのレンダリングにかかる​​時間にほぼ依存します(これにもツールがあります- WebPageTest )のフィルムストリップツールをご覧ください。

また、サイトのユーザー(RUM)に実際に提供されたパフォーマンスの測定と、模擬テストの比較についても議論があります。

1
symcbean

指示に従って「siege」というコマンドラインツールを試してください here

1
lefterav

ヘッダーをチェックするために、私は httpiedocs )が好きです。

Installation

pip install httpie --user

使用法

$ http -h http://serverfault.com/q/124952/113899
HTTP/1.1 302 Found
Accept-Ranges: bytes
Age: 0
Cache-Control: private
Connection: keep-alive
Content-Length: 198
Content-Type: text/html; charset=utf-8
Date: Fri, 06 Jan 2017 10:01:06 GMT
Location: http://serverfault.com/questions/124952/testing-a-website-from-linux-command-line
Set-Cookie: prov=392298d9-103e-7dfc-5b55-8738be46cf3b; domain=.serverfault.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 07a25de4-6e16-4aa8-acfc-12b1bbbc6180
X-Served-By: cache-hhn1543-HHN
X-Timer: S1483696865.976259,VS0,VE187
0
Martin Thoma

パフォーマンステストを実行するには、 JMeter を試してみてください。組み込みのプロキシを使用してテストを記録できます。また、ローカルまたは分散テキストモードで実行されます。結果はcsvまたはxml形式で保存できます。 xml形式を使用している場合は、ページのコンテンツも保存できます。

0
ghm1014

Curlやwgetよりも大きなものが必要な場合は、 Selenium も使用できます。

0
Unreason