これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド varnishtest です。
プログラム:
NAME
varnishtest - ワニスのテスト プログラム
SYNOPSIS
varnishtest [-hikLlqvW] [-b size] [-D name=val] [-j jobs] [-n iter] [-t period] ファイル
[ファイル ...]
DESCRIPTION
varnishtest プログラムは、Varnish Cache をテストするために使用されるスクリプト駆動プログラムです。
varnishtest プログラムを開始し、XNUMX つ以上のスクリプト ファイルを指定すると、
バックエンドを表すスレッドの数、クライアントを表すいくつかのスレッド、および varnishd
プロセス。 これは、特定の動作を引き起こすトランザクションをシミュレートするために使用されます。
次のオプションを使用できます。
-b サイズ
内部バッファ サイズを設定します (デフォルト: 512K)
-D name=val スクリプトで使用するマクロを定義します。
-h ヘルプを表示
-i ビルドツリーでvarnishdを見つける
-j jobs
これだけの数のテストを並行して実行する
-k テスト失敗時に続行
-L 常に一時的な vtc を残しておきます。*
-l テストが失敗した場合は、一時的な vtc.* を残します。
-n 繰り返し
テストを何回も実行する
-q Quiet モード: 失敗のみを報告します
-t デュレーション
この時間が経つとタイムテストが終了します
-v 詳細モード: 常にテスト ログをレポートします。
-W ロックの監視機能を有効にする
file スクリプトとして使用するファイル
オーバーライドできるマクロ定義。
varnishd 使用する varnishd へのパス [varnishd]
If TMPDIR が環境に設定されている場合、varnishtest は一時的なものを作成します vtc.* のディレクトリ
それぞれのテストで $ TMPDIR、それ以外の場合は / tmpに.
スクリプト
Varnishtest に使用されるスクリプト言語は、厳密に定義された言語ではありません。 最高の
スクリプトを記述するための参照は、varnishtest プログラム自体です。 ワニスソース内
コード リポジトリ、以下 bin/varnishtest/tests/、Varnish のすべての回帰テストは次のとおりです。
維持。
例:
ワニステスト「#1029」
サーバー s1 {
rxreq
Expect req.url == "/bar"
txresp -gzipbody {[バー]}
rxreq
Expect req.url == "/foo"
txresp -body { FOO バーフ}
} -始める
ワニス v1 -vcl+バックエンド {
サブ vcl_backend_response {
beresp.do_esi = true を設定します。
if (bereq.url == "/foo") {
beresp.ttl = 0s を設定します。
場合} else {
beresp.ttl = 10m を設定します。
}
}
} -始める
クライアント c1 {
txreq -url "/bar" -hdr "Accept-Encoding: gzip"
rxresp
gunzip
resp.bodylen == 5を期待します
txreq -url "/foo" -hdr "Accept-Encoding: gzip"
rxresp
resp.bodylen == 21を期待します
} -走る
実行すると、上記のスクリプトは 1 つの異なるサーバー (sXNUMX) をシミュレートします。
リクエスト。 Varnish サーバー (v1) が起動し、バックエンド定義が VCL に追加されます。
指定 (-vcl+backend)。 最後に、単一クライアントである c1-client を起動します。
XNUMX つのリクエストを送信します。
onworks.net サービスを使用してオンラインで varnishtest を使用する