Redhat でWebサーバのレスポンス時間を測定

このページではインターネット上のWebサーバからファイルをダウンロードする時間の測定、及び中身のチェックを行う仕組みを紹介します。(RHEL 6)

スポンサーリンク

概要

技術要素

ネットからファイルを取得

#wget -t 1 http://10.0.0.1/cloud/index.html

(*1)リトライなし:-t 1
(*2)/usr/bin/wget にあり

時間を測定する

time wget http://10.0.0.1/cloud/index.html

real 1m3.003s
user 0m0.001s
sys 0m0.002s

sysはシステムのCPU処理時間
userはユーザ側のCPU処理時間
realはすべての処理時間。

メール送信

事前準備として、.mailrcに転送先のアドレスを記載する

~/.mailrc

set smtp=smtp://<IP アドレス>:25

以下"alert mail"というタイトルでtest@test.comに対してhonbun.txtの内容を
送信する。(添付ファイルではない)

mailx -s "alert mail" test@test.com < honbun.txt

(*)/bin/mailxにあり

毎分実行する

cronの設定。毎分

* * * * * /<シェル古パス>/<シェル名>.sh

ループ処理

(*)ループでなく、クーロンでやればよい
1秒ごとにループする処理

#!/bin/bash

while true
do
echo test
sleep 1
done

grep

ダウンロードした index.html に "test" 文字が含まれるか確認。

大文字小文字を区別しないでgrepする

grep -i test index.html

grep の結果処理を行う

index.htmlというファイルに test という文字が入っているか確認する


cat index.html | grep 'test'

if [ "$?" -eq 0 ]
then
echo 'test found'
fi

YYYYMMDDmmss 形式で日付を出力

date '+%Y%m%d%H%M%S'

例:

# date '+%Y%m%d%H%M%S'
20161122085924

wget をProxyで使用する場合

~/.wgetrc を修正する

http_proxy = http://<IPアドレス>:<ポート番号>
https_proxy = http://<IPアドレス>:<ポート番号>
ftp_proxy=http://<IPアドレス>:<ポート番号>

proxy_user = <ユーザ名>
proxy_passwd = <パスワード>

use_proxy = on

(*)全ユーザの場合は/etc/wgetrcを使用する。

パスワードの特殊記号はエンコードする必要は無かった。

ProxyがNTLM認証の場合

curl を使用する

~/.curlrcを修正する

proxy-user "<ユーザ名>:<パスワード>"
proxy = "<IPアドレス>:<ポート番号>"

パスワードの特殊記号はエンコードする必要は無かった。

日付や時刻を付加したファイル名を生成する

index.htmlをindex.html.YYYYMMDD_hhmmss 形式で保管する。(バックアップしていく)

cp index.html ./index.html.`date "+%Y%m%d_%H%M%S"`
一週間経過したらファイルを削除する
rm ./index.html.`date -d week "+%Y%m%d_*"`


まとめ

#!/bin/bash

rm index.html
rm index.html.1
rm result.txt
rm tmp.txt

while true
do
(time curl --proxy-ntlm http://www.yahoo.co.jp/ > index.html) >& tmp.txt
grep real tmp.txt >> result.txt
date '+%Y%m%d%H%M%S' >> result.txt

cp index.html ./history/index.html.`date "+%Y%m%d_%H%M%S"`

cat index.html | grep -i 'error'
if [ "$?" -eq 0 ]
then
mailx -s "alert mail " test@test.com < honbun.txt
fi

rm index.html
sleep 60
done

スポンサーリンク

その他

SMTPメールサーバ / pop サーバは以下を使用した。ともて簡単(ドメイン設定、ユーザ作成くらい)
で使用できた。

https://www.hmailserver.com/

スポンサーリンク

[linux 技術ドキュメント一覧に戻る]