LinuxコマンドラインからのWebサイトのテスト[終了]


29

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

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

前もって感謝します。


これまでに何を見つけ、見ましたか、または考えていますか(適切/不適切)?
mctylr

これらの答えはどれも私にとって非常に良い音ではありません。あなたはまだ負の年齢を待つ必要があります
地理理論

回答:



9

Apacheベンチマークをご覧ください:

Apacheベンチマーク

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


Apache benckmarkは外部ソースであり、実際にはyoutubeビデオプレイリストであるため、これには使用できません。このリソースへのアクセスを監視しています。TY
エンブロー

abを使用できない理由がわかりません。次の回答のwgetのように、ベンチマークツールを実行しているマシンからサイトのURLにアクセスできる限り機能します。
gareth_bowles

Apacheベンチマークはローカルリソースに限定されるものではなく、完全なパフォーマンス測定ツール(ネットワークレイテンシ、I / Oなどを含む)を意味します。
アンドレ

知っておいて、このオプションを評価します、ありがとう。
エンブロー

6

次のオプションをご覧くださいcurl

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

そして、次のオプションwget

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

curl --trace-ascii <file> --trace-time -o /dev/null <url>まさに私が必要としていたものでした。ありがとう!
dsummersl

3

目標が何であるかに応じて、SeleniumとCurlは適切なオプションです。また、私がかなり好きになったユーティリティはtwillです。詳細については、http://twill.idyll.org/をご覧ください。

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


2

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

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

それをwhileループでラップすると、準備完了です。URLを知っていれば、すべての要素を確認できるのと同じ方法。



1

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

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

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

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

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

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

また、サイトのユーザーに実際に配信されたパフォーマンス(RUM)と合成テストの測定に関する議論もあります。



0

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


0

ヘッダーを確認するには、httpiedocs)が好きです。

設置

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.