にゃんこうけ | src | ブログ | コンタクト | 統計 | 御串 | 小束 | 裏ミク | つ痛 | 顔本 |

10年ぶりに部屋に入るとコウモリや猫の巣窟だった

Powerd by APACHE

2007-09-27 21:32:01 JST-9 | akebia | Apache | コメント | トラックバック | 履歴

a40404.pl

高速なlogresolveです。

1. 書式
2. オプション
3. シグナル
4. 説明
5. テスト環境
6. ご注意
7. トラブルシューティング
8. 処理状況

1. 書式

perl a40404.pl [オプション]... < 入力ファイル > 出力ファイル

2. オプション

-b 行数
ログバッファの行数です。デフォルトは65536です。
-n スレッド数
DNS子スレッド数です。デフォルトは128です。
-d [ファイル]
DNSキャッシュファイルです。[ファイル]を省略すると、DNSキャッシュファイル機能が無効になります。デフォルトは「dns_cache.txt」です。
-t 秒数
DNSキャッシュTTLです。デフォルトは259200(72時間)です。
-e
標準エラー出力に処理状況を出力します。デフォルトは出力しません。

3. シグナル

SIGINT
DNSキャッシュをファイルに保存し、速やかにプログラムを終了します。

4. 説明

これは、ApacheのアクセスログのIPアドレスの名前解決をするプログラムです。標準入力にApacheのアクセスログを流し込むとログの各行の先頭のIPアドレスがドメイン名に変換された状態で標準出力から出てきます。マルチスレッドで処理するので、大きなログを処理する場合、通常のlogresolveよりも早く処理が終わります。また、名前解決の結果をキャッシュファイルに保存し、次回の処理に使いまわす機能(DNSキャッシュファイル機能)が付いているので、同じログで何度もプログラムをテストしたりする場合に、さらに高速になります。

5. テスト環境

xampp-win32-1.6.1 xampp-win32-perl-addon-5.8.8-2.2.4

6. ご注意

  • このプログラムはデフォルトでカレントディレクトリの「dns_cache.txt」というファイルに読み書きします。この動作を無効にするには、プログラムの「$dns_cache_file = 'dns_cache.txt';」の部分を、「$dns_cache_file = '';」にして下さい。
  • このプログラムには、通常のlogresolveについている、-sや-cといったオプション機能はありません。
  • IPv4のアドレスしか処理できません。ログにIPv4以外のアドレスが含まれていた場合の動作は謎です。
  • DNSキャッシュTTLにより古くなった名前解決の記録を消去する処理はプログラムの起動時にしか行われません。その為、このプログラムが長時間起動しっぱなしになる場合でもDNSキャッシュTTLの機能を有効に動作させたい場合には、このプログラムの親プロセス側でこのプログラムを時々再起動させてやる必要があります。
  • DNSキャッシュの更新中にシグナルをブロックしていないので、偶々DNSキャッシュの更新中にSIGINTが来た場合、DNSキャッシュファイルの内容がどうなるかは謎です。

7. トラブルシューティング

  • Perlインタプリタが例外を上げてアボートしたりといった不審な動作をする場合にはPerlを最新バージョンにしてみて下さい。それでも不調な場合には、-nオプションでDNS子スレッド数を減らしてみて下さい。
  • 処理中にPerlインタプリタがシステムのメモリを圧迫していて耐えられない場合には、-bオプションを使ってログバッファの行数を減らしてみて下さい。
  • SIGINTを送るとサブスレッドの終了を待たずにプロセスが終了する為、警告が出ることがありますが、これは仕様です。

8. 処理状況

-eオプションを使うと処理状況をモニタすることができます。処理状況の意味は以下のとおりです。

DNSリクエストキューの要素数 スレッドID IPアドレス ドメイン名

DNSリクエストキューの要素数を見るとサブスレッドが有効に動作しているかどうかの目安になります。要素数が-nオプションで与えた数以上の時、概ね全てのサブスレッドが稼動中であると考えられます。処理が終盤に向かい、解決すべきIPアドレスが減ってくると要素数も減ってきて0になります。処理の中盤で要素数がしょっちゅう増えたり0になったりして処理がなかなか進まない場合には、-nオプションで与えた数に対して-bオプションで与えた数が少なすぎるのかもしれません。

人気ブログランキングへ MyMiniCity WebMoney ぷちカンパ

Comments

No comments yet

Add Comment



Trackback

このトラックバックURL(右クリックして、リンクのURLをコピー)を使ってこの記事にトラックバックを送ることができます。もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。トラックバックの手動送信に失敗したり、拒否された場合には、あけび猫が入力しますので、こちらまでご連絡下さい。重複したトラックバックは、自動的に1つにまとめられるようなので、気軽に色々試してみて下さい。

人気アイテム(人気順) 人気アイテム(不人気順)
  1. ドラゴンボール ブルマのHシーン  その1(116/11132)
  2. 【パパ聞き! OP】 Happy Girl 【高音質 Full】(83/824)
  3. ロアアームとタイロッドエンドのボールジョイントブーツ交換(69/6075)
  4. ソフトウェアRAID(51/5972)
  5. 断線したマウスケーブルの補修(46/5386)
  6. 【もう恋なんてしない】 もうオタなんてやめる recog 【替え歌】 (41/90)
  7. リヤハブベアリングの交換(37/4410)
  8. NP_Revision (v0.7-x) - 記事の変更履歴管理と差分表示(32/2662)
  9. DENON PMA-715R ステレオプリメインアンプのリレー交換(32/1097)
  10. やよいのエッチなロリロリお泊り会 (29/1405)
  11. 「ミドボンでソーダ充」を実践してみる(28/718)
  12. MySQLのレプリケーションを設定する(28/3301)
  13. 夢みるメロディー / 梶谷美由紀(27/61)
  14. パンストED(歌詞和訳) (27/1100)
  15. negima 1000 sparking (full ver) (25/81)
  16. 【まゆとも名曲選】4月の雪/林原めぐみ (24/1119)
  17. ゆるゆり あっかりーんっ☆ 大事件 \アッカリ~ン/ (23/51)
  18. Sign - Ray【あの夏で待ってる】 OP 在盛夏等待 (22/130)
  19. みなみけOP 経験値上昇中☆ Full 歌詞付(22/72)
  20. Denki Groove - Upside Down(21/138)
  1. mi-fa-pu(2/272)
  2. もし,GMにマイクロソフトのような技術があったら(2/287)
  3. かわいい猫ちゃんの画像を貼ってください。(2/258)
  4. 01月23日のココロ日記(BlogPet)(2/248)
  5. 01月30日のココロ日記(BlogPet)(2/249)
  6. Heated Beer Bottle Experiment(2/253)
  7. 02月06日のココロ日記(BlogPet)(2/248)
  8. 02月13日のココロ日記(BlogPet)(2/246)
  9. 02月20日のココロ日記(BlogPet)(2/245)
  10. Guitar Kitteh(2/245)
  11. 位置(BlogPet)(2/188)
  12. 04月25日のココロ日記(BlogPet)(2/226)
  13. 表示(BlogPet)(2/217)
  14. 柔軟サーキュレーション(2/208)
  15. ロート製薬(BlogPet)(2/207)
  16. メンチ(BlogPet)(2/194)
  17. あけび猫は表示したかった(BlogPet)(2/204)
  18. 挑戦するつもりだった(BlogPet)(2/192)
  19. bit.ly | Site Unavailable(BlogPet)(2/181)
  20. bit.ly | Site Unavailable(BlogPet)(2/173)

http://nyan.co.uk/akebia/