日曜日, 12月 31, 2006

[Linux] Catalystデモから勉強したこと(Chain)

CPANのCatalyst/DispatchType/Chaine
の要約とテストからのメモ.

Chained属性では,準備した関数間の連結(前に来る関数名を指定)を行います(引数を省略した場合は"/"扱い).またPathPart属性でその後に来る実URLを記述します(引数無しは関数名を実URLとして扱います).

このときChained('.')と指定することができ,その時点でのコントローラでの名前空間パスが入る,,らしいが使い方がいまいち不明.



CaptureArgs属性で,内部処理に使う後続URLパスのデータ個数を定義(個数を指定しない場合は無制限(に受け取る))でき,その値を受け取ることができます.Args属性は(CaptureArgs属性と近しいですが)chianがその関数で終了するときに利用します(下の例では,値の受け渡しは@_で行われている).

sub wiki : PathPart('wiki') Chained('/') CaptureArgs(1) {
my ( $self, $c, $page_name ) = @_;
~snip~
}


コンテキスト経由で値を処理する場合はCaptureArgsとArgsでは格納場所が違い,前者は$c->request->captures->[$level]であり($levelにはそれまでキャプチャされたURLパス文字列が配列格納される),後者は$c->request->argumentsに格納される.

またとても参考になる(より複雑な)例はこちら

金曜日, 12月 29, 2006

[Linux] htAxess

BASIC認証部分の運用ツールを探していたら,htAxessというのがあった.

SourceForgeにプロジェクトは立っているものの,まさに作りかけでUIもイケていない(総じてオープンソース系は運用ツールを作って公開することにモチベーションが上がらない,ものですね(自慢できないからかな)).

htAxessツールとしての認証も.htpasswdで行うため「adminというユーザを作り,その人で(ユーザと同じ)PW変更画面で"Reset"すると管理画面に行ける」という仕様がなんとも.


・・・というときに,文句ではなくパッチでも作って貢献すべきであろうと思い立ち,人生初パッチを送ってみた(良くしたいといよりは,パッチ貢献をしてみたかっただけなのだけど).

月曜日, 12月 25, 2006

[S3] PerlからS3ストレージを利用(ちょっと進歩)

s3コマンドが使えました.

[tf0054@domU-12-31-33-00-XX-XX aws]$ ./s3 -d ls
Listing all buckets
Got all buckets listing
6ca1e26410693a4d27ad25ddca1f4-default
[tf0054@domU-12-31-33-00-XX-XX aws]$ ./s3 -d ls 6ca1e2641XXXXa4d27ad25ddca1f4-default
Listing bucket '6ca1e2641XXXXa4d27ad25ddca1f4-default'
Got bucket listing
0.dir
1.Deploying Lucene on the Grid_-pdf.file
[tf0054@domU-12-31-33-00-03-A8 aws]$

ポイントは環境変数を追加で設定しておくこと.

[tf0054@domU-12-31-33-00-03-A8 aws]$ env | egrep '(S3|AWS)'
S3_CWD=/home/tf0054/aws
AWS_SECRET_ACCESS_KEY=XXXXXZjQHRF4bHlyFfYqHTGZpNpr1isDjApXXXX
AWS_ACCESS_KEY_ID=07ZX98TTVSJG2027XXXX
S3_LIBDIR=/home/tf0054/aws/s3-example-libraries/perl
[tf0054@domU-12-31-33-00-03-A8 aws]$

なかなか奥が深い(というかJungleDiskで作ったバケット名が怪しかっただけ?).

[Perl] 一般ユーザでのCPAN

意外に一般ユーザでのCPAN利用(自分のホームディレクトリ内にPerlモジュール用のディレクトリを切り、使う場合は"use lib"する)は大変ですね...

Perlを使ってもう5年以上たちますが、やっと意味が分りました(恥かしい・・).

~/.cpan/CPAN/MyConfig.pmの書換えはこの一行でよくて、

'makepl_arg' => q[INSTALLDIRS=site LIB=~/modules LIB=~/modules/lib/perl5 PREFIX=~/modules]


ポイントはこれと一緒に(bashなら)PERL5LIBを設定すること.

export PERL5LIB=~/modules/lib/perl5


皆これをやってんのかなぁ.すごいなぁ.

月曜日, 12月 18, 2006

[S3] PerlからS3ストレージを利用(しかかり中)

awsの開発者フォーラムでPerlからS3を使うスクリプトが公開されていることを,今更ながら見つけました.

s3syncとまさにやりたいことなのですが,でもこの中で使っているs3-perlとは何だろう..debianのパッケージ情報しか引っかからないけれど...Net-Amazon-S3というモジュールをCPANで見つけたけど,これとか使うのかな?

[tf0054@domU-12-31-33-XX-XX-XX Net-Amazon-S3-0.37]$ perl Makefile.PL PREFIX=/home/tf0054/a
ws/perl
Checking if your kit is complete...
Looks good
Warning: prerequisite Class::Accessor::Fast 0 not found.
Warning: prerequisite DateTime::Format::Strptime 0 not found.
Warning: prerequisite Digest::HMAC_SHA1 0 not found.
Warning: prerequisite HTTP::Date 0 not found.
Warning: prerequisite LWP::UserAgent 0 not found.
Warning: prerequisite URI::Escape 0 not found.
Warning: prerequisite XML::LibXML 0 not found.
Warning: prerequisite XML::LibXML::XPathContext 0 not found.
Writing Makefile for Net::Amazon::S3
[tf0054@domU-12-31-33-XX-XX-XX Net-Amazon-S3-0.37]$

しかし関連モジュール多いなぁ.プロトタイピングするならこれくらい使えこなせなくては,というモジュールばかりな気もしますが...

また,その他"s3-perl"というプログラムが指定されていますが,これはAWS開発者フォーラム内で公開されてるものです.

日曜日, 12月 17, 2006

[PostgreSQL] やばいSQLをlするには

現在実行中のクエリ一覧はこれで見る.

select pid,current_query from pg_stat_activity;


でロックしている状況を見るにはこれで見る.

SELECT l.pid, c.relname, l.transaction, l.mode, l.granted FROM pg_locks l LEFT OUTER JOIN pg_class c ON l.relation = c.oid ORDER BY 1;


この結果が以下のような場合,

pid | relname | transaction | mode | granted
-------+---------------------------------+-------------+------------------+---------
5423 | xxxxxx_site_view | 1435608385 | AccessShareLock | t
5423 | | 1435608385 | ExclusiveLock | t
5423 | xxxxxx_kai_seigyo | 1435608385 | AccessShareLock | t
~省略~

OS側から"kill -TERM 5423"(ここで"-9"はダメ(当たり前か)).

土曜日, 12月 16, 2006

[Windows] deskloops

xilokitという会社のdeskloopsはすごい.画面がぐりぐり動く仮想デスクトップソフト.回りすぎ..

かも(画面の左右にカーソルを持ってゆくと帯みたいに回る...説明が難しい.ちなみに使用メモリは22M.多いととらえるか微妙なところですね.

金曜日, 12月 15, 2006

[erlang] Yaws

erlangで書かれたWebサーバ。現在もちゃんとメンテされており性能も素晴らしいとのこと(ホントか?)。

また、JSPのように中にerlangのコードを書くこともできるらしく、その点おもしろいかも(みかログさんを参照)。

木曜日, 12月 14, 2006

[Linux] mob_bw

apacheのバンド幅制限を行うモジュールmod_bw。使うことがあるかもしれず、かつそんな時は火急なためメモ。

水曜日, 12月 13, 2006

[Linux] pipebentch

シェルのパイプは、便利な反面、意外にボトルネックになっていると聞いた事があります。このパイプの速度(流し込み速度)を測ることができるツールpipebentchを見つけました。

syntoolという一群のプログラムに含まれているもののようです。

火曜日, 12月 12, 2006

[PHP] 気にすべきポイント12選

もう既出ですが。
PHPってCache-Tryじゃないですが、エラー制御演算子なんてものがあって"握りつぶし"ができるのですね。。。ある意味きがきいているのかな(普及するわけだ)。

月曜日, 12月 11, 2006

[PHP] vld

vldはPHPスクリプトの、実行前オペコード状態(?)を見ることができるツール。php5にも対応しているようで使いようによっては面白そうです。

日曜日, 12月 10, 2006

[Linux] lingerd

apacheのTCPセッション管理が甘い部分を、代わりにざくざくと処理してくれるデーモンlingerd。いまいち細かいところが不明であり、まあ2002年が最終更新なので本体に同様の処理が組み込まれたのだろう。

金曜日, 12月 08, 2006

[Linux] osCommerce(2.2ms2-060817)導入

入れてみた(8月17日版≒英語).

php4とmysql縛りがある(php5では動かない)が,カートから特価設定(何日まで)など,素人的には必要機能は殆ど揃っているイメージ.

日本語版はどこまでどうなんだろう.更新がとまっているようだけど...

日曜日, 12月 03, 2006

[Linux] coLinux(v0.6.4)+FC5

coLinuxを初めて使う+FC5イメージ(FedoraCore5-2006.8-ext3-2gb.7z)から入ると,かなり各所にトラップ有り...

<1>ネットワークの設定
まずそもそも我が家は192.168.0.0/24なので,おかげでWindowsのICSが使えない.つまりはTAPとかなんとかいくらがんばってだめ.なので"slirp"という方式を利用することに(default.colinux.xmlのネットワーク設定は下記).

<network index="0" type="slirp" redir="tcp:22:22/tcp:23:23/tcp:80:80" />

先に書いちゃうと"slirp"では,Windowsからその中に立ち上がるLinux(ややこしい)にアクセスするすべが(普通にしてると)無くなるので,Windowsの22番ポート(および23番と80番)をcoLinuxで起動させるLinuxへリダイレクトしろ,というのが"redir".

<2>cracklibが壊れとる
普通に起動してrootでpasswdしようとすると失敗する.
これはココを見て解決.

<3>パッケージの追加
このイメージにはそもそもsshdやらそもそもsshやらが,ぜんぜん入っていないので各種インストール.
yum install openssh-server openssh-clients


<4>namedさんが居ない
起動時にnamedというユーザは居ないよ,と起こられ続けるのでこれを追加.
named:x:25:25:/tmp:/sbin/nologin


<5>日本対応
キーボードとタイムゾーンを変更
/etc/sysconfig/keyboard : enをjp106に


/etc/localtimeを/usr/share/timezone/Asia/Tokyoのsymlinkに



<6>ipv6無効化
/etc/modprobe.confに以下の行を追加.
alias net-pf-10 off


<7>Windowsからssh出来ない
これにはかなりはまった.というかこのイメージを使っているひとはそもそもsshで接続していないのかな...「Unix98では上記のものを使用せず、代わりに/dev/ptmxと呼ぶ"pty master"を使います」というこのptmxが在りません...作りましょう.
mknod -m 622 /dev/ptmx c 5 2


でもまぁメモリも128しか割り当てていないけど,結構快適であとあと面白そうです.

水曜日, 11月 29, 2006

[EC2] 秀逸!AWS連携

Webmail.usという,有料ユーザが35万人いるウェブメールサービスの裏側では,EC2はもとよりS3やSQSが大活躍しているそうです.

元ネタはこちら

使い方としてはでも,フロントではなくデータバックアップの部分で,
 ・ユーザデータをS3にバックアップ
 ・そのバックアップデータを14日で消す処理を一旦SQSに入れ
 ・EC2で並列実行
しているそうな.秀逸なのはEC2がS3のデータを消しに行くからその処理においては自前ネットワークの帯域や,EC2のNW代金がかからない,と.

まさに各機能のいいとこ取り.こういうアーキテクト設計が出来るようにならないと...

[EC2] コスト削減効果の事例

ここで語られているような状態(だった?)"Second Life"が,EC2でコスト削減を成し遂げたそうな.

http://japan.cnet.com/special/media/story/0,2000056936,20332008,00.htm

ソフトウェアを更新して配る際の高負荷対策ということだが,そのあたりからじょじょにはじめるのがよいのかもしれません.

火曜日, 11月 28, 2006

[search] HyperEstraierのお試し(ウェブクロール)

ウェブクロールがやっとできるようになった.

[tf0054@bamboo work ]$ ../bin/estwaver init r25-crawl2
2006-11-27T15:03:51Z INFO the root directory created
[tf0054@bamboo work ]$ ../bin/estwaver crawl -revcont r25-crawl2

P2P型でサーバが立っている場合は_confのnodeservを設定する必要がある.

・・・としてみるとわかるが,threadnumの数以上にクローラプロセス(estwaver)がいっぱい立ち上がる.そもそもスレッドって書いてるしな.

まぁでもuptimeも0.52とかで問題はなさそう.

ただ,がんがんドキュメントはmasterに入っているようだけど(masterの_logで確認),検索できるようにするには,クローラプロセスを終了(?)させる必要がありそう.
というか終了させるにはどうするんだろう・・・.

まぁ,「検索できること」は"mod_estraier_search"にて確認しているレベルなので,もう少し詳細を調査したい.

日曜日, 11月 26, 2006

[search] HyperEstraierのお試し

qdbmというものを先に入れたりとコンパイルは少しややこしい(こちらを参照)

EC2でやろうとすると,gccすらないので大変かも.

というわけで別で借りているVPSサーバで実験中.なかなか稼動せず.

libtidyって何だよ..
iconv入ってないし..
mod_proxyも無いけど..


まあ,そんなこんなで動いたようですが,何故かproxyで見たちょっとの部分しかDBに入りません.入らないよかいいですが何故?

[tf0054@bamboo bin]$ ./estcall list -auth admin xxxx http://localhost:1978/node/web
2 http://ad.goo.ne.jp/html.ng/cat=gootop&contents=gootop_goo&kind=text_1&site=gootop&ord=1? 8d7c0f5f2f83993f5c1b78e1516500c6 Sun, 26 Nov 2006 13:13:45 GMT おすすめサイト text/html 1103 5.749902
4 http://ad.goo.ne.jp/html.ng/cat=gootop&contents=gootop_goo&kind=text_2&site=gootop&ord=1? e5c28cb3d89deb27eda123b9f001151f Sun, 26 Nov 2006 13:13:45 GMT おすすめサイト text/html 1062 5.749902
1 http://ad.goo.ne.jp/html.ng/cat=gootop&contents=gootop_goo&kind=text_3&site=gootop&ord=1? 130c3ade00af2841a70294d1905bf869 Sun, 26 Nov 2006 13:13:45 GMT おすすめサイト text/html 1109 5.749902
5 http://ad.goo.ne.jp/html.ng/cat=gootop&contents=gootop_goo&kind=text_4&site=gootop&ord=1? 56542d091ac1a98856f4b42fb02da8f9 Sun, 26 Nov 2006 13:13:46 GMT おすすめサイト text/html 1066 5.749902
3 http://ad.goo.ne.jp/html.ng/cat=gootop&contents=gootop_goo&kind=text_5&site=gootop&ord=1? ffc818e528500d8e40db63740ae80440 Sun, 26 Nov 2006 13:13:45 GMT おすすめサイト text/html 1080 5.749902
[tf0054@bamboo bin]$

・・・今後調べてゆきたいと思います.

[Linux] mailman

EC2にmailmanを導入(今はMTAはPostfix).

インストールとmailman専用aliasesの作成.
# sudo yum install mailman
# sudo -u mailman /usr/lib/mailman/bin/genaliases

あとここで出来たaliasはパーミションがおかしいので修正
# chmod 0660 /etc/mailman/aliases*

/usr/lib/mailman/Mailmanの中にあるDefaults.pyで下記を変更.
 ・MTAをPostfixとする
 ・言語をjaに(初期en)変える

最後に管理者用PWを設定.
# sudo -u mailman mmsitepass

postfix側はalias_mapに足すことくらい.

apache側はScriptAliasにmailmanディレクトリのcgi-binを追加.

土曜日, 11月 25, 2006

[Life] インフラとは

NRIでのインフラの定義.

http://www.nridata.co.jp/infra/knowledge/d0101.html

確かにアプリ以外のすべてを総称するイメージで捉えるべきであり,そのために部分部分にこだわることが難しくなっている気がする.

ただ,こだわりの無いインフラは運用する段になってやる気がそがれる気がする...

[Linux] osCommerce

別に新しくも無いですが,osCommerceに興味あり.

http://www.os-commerce.jp/

オンライン+物流系の裏方システムが(プロトレベルでも)作れる
なら十二分に仕事に役立ちそう.

試してみなくては.

木曜日, 11月 23, 2006

[EC2] wikiができてます

オフィシャルではないですが、情報が乏しい中で貴重です。
http://www.ec2reference.com/

水曜日, 11月 22, 2006

[EC2] FC4でのメール設定

MTAをPostfixに変えたかっただけなのにえらい手間取った。。
alternativesという仕組みが採用されているんですね(FCユーザには当たり前?)。

[tf0054@domU-xx-31-33-00-03-A8 alternatives]$ sudo /usr/sbin/alternatives --config mta

There are 2 programs which provide 'mta'.

Selection Command
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number: 2
[tf0054@domU-12-31-33-00-03-A8 alternatives]$ ls -la /etc/alternatives/ | grep mta
lrwxrwxrwx 1 root root 26 Nov 22 06:58 mta -> /usr/sbin/sendmail.postfix
lrwxrwxrwx 1 root root 40 Nov 22 06:58 mta-aliasesman -> /usr/share/man/man5/aliases.postfix.5.gz
lrwxrwxrwx 1 root root 22 Nov 22 06:58 mta-mailq -> /usr/bin/mailq.postfix
lrwxrwxrwx 1 root root 38 Nov 22 06:58 mta-mailqman -> /usr/share/man/man1/mailq.postfix.1.gz
lrwxrwxrwx 1 root root 27 Nov 22 06:58 mta-newaliases -> /usr/bin/newaliases.postfix
lrwxrwxrwx 1 root root 43 Nov 22 06:58 mta-newaliasesman -> /usr/share/man/man1/newaliases.postfix.1.gz
lrwxrwxrwx 1 root root 23 Nov 22 06:58 mta-pam -> /etc/pam.d/smtp.postfix
lrwxrwxrwx 1 root root 22 Nov 22 06:58 mta-rmail -> /usr/bin/rmail.postfix
lrwxrwxrwx 1 root root 25 Nov 22 06:58 mta-sendmail -> /usr/lib/sendmail.postfix
lrwxrwxrwx 1 root root 41 Nov 22 06:58 mta-sendmailman -> /usr/share/man/man1/sendmail.postfix.1.gz
[tf0054@domU-xx-31-33-00-03-A8 alternatives]$

びっくりしました。

火曜日, 11月 21, 2006

[EC2] yumは普通に

yumは普通に使えます。
# sudo yum install postfix

月曜日, 11月 20, 2006

[Linux] gpsd

パソコンにつけたGPSセンサの情報を随時記録(というかサーバに送る?)ことができるGPSDというのがある。

http://gpsd.berlios.de/

この手のって,何かに使えそうな,何にもつかえなさそうな.対応するPerlモジュールも在りました.

日曜日, 11月 19, 2006

[EC2] ElasticLive

よく読まずに書いたけどElasticLiveは,安いだけじゃなくて,
EC2ではコマンドラインツールしか提供されていないインスタンス操作周りに,使いやすいGUIを提供している

ことも大きな売りらしい.個人的にはコマンドラインツールで別に不都合を感じてはいないけど,確かに一般化するには必要な部分か.

でもEC2にしてもElasticLiveにしても,サービスレベルが有る程度保障されないと使いづらい,,と思うのはまだまだなのか.

土曜日, 11月 18, 2006

[EC2] 安いリソースオンデマンドとHadoopのAMI

EC2のフォーラムで語られていました.時間当たり5セントだそうです.

http://www.elasticlive.com/

あとこちらの投稿ではオープンソースでのGFS実装であるhadoopのAMIが配られているという話題が.

http://wiki.apache.org/lucene-hadoop/AmazonEC2

夢は広がります.

木曜日, 11月 16, 2006

[search] HyperEstraier

前から気になっている全文検索エンジン。Windowsで使えることで結構人気になってそう。

http://hyperestraier.sourceforge.net/

でもそれよりも、P2P型で検索クエリを受け付ける側を多重化できることがすごいな、と思う(このP2P機能の解説)。

Ngramだけじゃなく形態素解析してから突っ込むこともできるみたいだけど、何つかってんのかな(MeCABでもできるとの記載はあるけど、、)。

クローラも含まれているので簡単なサーチエンジンはすぐにでも作れるのかもしれません.

どんなもの?というきれいな要約を見つけたので貼り付け.
http://qdbm.sourceforge.net/mikio/osmftsspecial/

日曜日, 11月 05, 2006

[Life] 茅ヶ崎パシフィックホテル

散髪屋さんの待ち時間で湘南スタイルを読んだ。

今はなき茅ヶ崎パシフィックホテルについての記事がとても心に響きました。

それまでばらばらだった現在の"湘南"という文化圏は、このホテルを中心に形成された。

そういう形で世に形を残せるのはすばらしいことだと思います。

ちなみにかつてのホテル跡はマンションになっているらしい(地図)。

土曜日, 11月 04, 2006

[EC2] Windows@EC2

すごい。Xenだからで出来そうといえば出来そうだけど。。

http://www.enomaly.net/win_ec2.1136.0.html

元ネタはコチラ

木曜日, 11月 02, 2006

[PostgreSQL] 監視の方法

pg_stat_all_tablesを見ているだけでも、結構な監視が出来る。
全テーブルの時間当たりでのシーケンシャル操作総数をグラフ化しているのがポイントか。

金曜日, 10月 27, 2006

[EC2] Jmeter@EC2成功!

EC2であげた3台のサーバ(Jmeter-Server)と、モニタ用のモニタマシン(Jmeter-Clinetを動かす。自身は負荷はかけない)の計4台であるサイトへの負荷試験を行った。

念のため、モニタマシンのTCP設定をレジストリで変更(RMI通信が意外に大変そう故)。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip]"
MaxUserPort"=dword:00002ee0"
TcpTimedWaitDelay"=dword:0000001e

jmeter-serverは先に上げていても負荷がけリクエストを一定時間受けないと勝手にとまってしまう様子。。(このときクライアントは"Bad Object Call"エラー)。これには多少はまった。

結果、負荷は想定どおりかけることができ(1インスタンスあたり120スレッド)、各種リソース消費もほぼ気にする値ではなかった。

これを考えると、EC2のインスタンスあたり300程度までは十分いけると考えられる(※)。

ただし、上記は走らせるシナリオのサイズや複雑度により相当変動するものと思われるので、いくつかのパターンで試して見る必要がありそう。

(※)

また、そのMAX負荷時におけるモニタの負荷は、統計情報だけの取得としていたこともあり、NW帯域は4M~6M程度、CPUは45%程度の消費であった(PentiumM/1G)。

同時にインスタンスのCPUも(たまにガベコレが動くのか)30%くらいまで跳ねることはあるものの、負荷がけ自体では1%から2%程度のCPU消費だった。

水曜日, 10月 25, 2006

[EC2] EC2のセキュリティグループ(FW)操作

こっちで追加。
G:\EC2\bin>ec2-authorize default -P tcp -p 1099 -s 125.174.131.44/32

こっちで(上記の設定だけを)削除。
G:\EC2\bin>ec2-revoke default -P tcp -p 1099 -s 125.174.131.44/32

ちなみに、Jmeterを使う(RMIを使う)場合には、1099だけ開けてもだめだった。

G:\EC2\bin>ec2-authorize default -P tcp -p 0-65000 -s 221.186.76.xxx/29

なんかなぁ。。。EC2のマニュアルはこちら

火曜日, 10月 24, 2006

[EC2] Jmeterの奇怪なうごき2

あと、サーバ側ではjmeter.logで下記行が出るまで待つこと.
2006/10/24 19:07:37 INFO - jmeter.engine.RemoteJMeterEngineImpl: Bound to registry on port 1099

この行まで出た段階ではクライアントで"Bad call to remote host"と表示され接続できない.

2006/10/24 19:04:27 INFO - jmeter.engine.StandardJMeterEngine: To revert to the earlier behaviour, define jmeterengine.startlistenerslater=false

また、Listenは始まっているのにクライアント側に"java.rmi.NoSuchObjectException"が出るようになったら、サーバ側をリスタートする必要がある様子。

[EC2] Jmeterの奇怪なうごき

なぜかJmeterでリモート実行をしようとすると「localhost接続で」失敗し始める。。
googleでは下記のQAがあったりした(複数のEthを持っていると変になるのかな)。

">http://mail-archives.apache.org/mod_mbox/jakarta-jmeter-user/200410.mbox/

で、いろいろ調べた結果サーバ(リモートテストを実行する側)が自分のIPを正しく取れていないことが判明.

これで解決.

[tf0054@bamboo bin ]$ diff ~/jmeter-server.org ./jmeter-server
30c30
< `dirname $0`/jmeter -Dserver_port=${SERVER_PORT:-1099} -s "$@" --- > `dirname $0`/jmeter -Djava.rmi.server.hostname=204.13.171.xxx -Dserver_port=${SERVER_PORT:-1099} -s "$@"
[tf0054@bamboo bin ]$

月曜日, 10月 23, 2006

[EC2] インスタンスの操作(追加と削除)

今上がっているインスタンスの確認。EC2デフォルトで用意されているAMIであげています。

G:\EC2\bin>ec2-describe-instances
RESERVATION r-93c92cfa 246339835965 default
INSTANCE i-b5a541dc ami-6dae4b04 domU-12-31-33-00-xx-xx.usma1.com
pute.amazonaws.com running gsg-keypair

G:\EC2\bin>

追加は、あげるイメージ(AMI)を指定してrunするだけ(ここでrootさんのauthorized_keysに入れておいてもらう鍵を指定(-k)しないと操作のしようが無いインスタンスが上がるので注意)。

G:\EC2\bin>ec2-run-instances ami-6dae4b04 -n 2 -g default -k gsg-keypair
RESERVATION r-f32cc99a 246339835965 default
INSTANCE i-d9ee0ab0 ami-6dae4b04 pending
INSTANCE i-d8ee0ab1 ami-6dae4b04 pending

G:\EC2\bin>

しばらく待つと上がってきます。

G:\EC2\bin>ec2-describe-instances
RESERVATION r-93c92cfa 246339835965 default
INSTANCE i-b5a541dc ami-6dae4b04 domU-12-31-33-00-xx-xx.usma1.com
pute.amazonaws.com running gsg-keypair
RESERVATION r-f32cc99a 246339835965 default
INSTANCE i-d9ee0ab0 ami-6dae4b04 domU-12-31-34-00-xx-xx.usma2.com
pute.amazonaws.com running
INSTANCE i-d8ee0ab1 ami-6dae4b04 domU-12-31-34-00-xx-xx.usma2.com
pute.amazonaws.com running

G:\EC2\bin>

ちなみに落とし方はこちら。

G:\EC2\bin>ec2-terminate-instances i-d9ee0ab0
INSTANCE i-d9ee0ab0 running shutting-down

G:\EC2\bin>

日曜日, 10月 22, 2006

[Catalyst] 初期化@Windows

Catalystは前少しLinuxで試したけれど、今回はWindowsのActivePerlでチャレンジ。
まずはなんにせよ初期化の仕方から。

D:\Catalyst>c:\Perl\site\bin\catalyst.bat TEST
created "TEST"
created "TEST\script"
created "TEST\lib"
created "TEST\root"
created "TEST\root\static"
created "TEST\root\static\images"
created "TEST\t"
created "TEST\lib\TEST"
created "TEST\lib\TEST\Model"
created "TEST\lib\TEST\View"
created "TEST\lib\TEST\Controller"
created "TEST\test.yml"
created "TEST\lib\TEST.pm"
created "TEST\lib\TEST\Controller\Root.pm"
created "TEST/README"
created "TEST/Changes"
created "TEST\t/01app.t"
created "TEST\t/02pod.t"
created "TEST\t/03podcoverage.t"
created "TEST\root\static\images\catalyst_logo.png"
created "TEST\root\static\images\btn_120x50_built.png"
created "TEST\root\static\images\btn_120x50_built_shadow.png"
created "TEST\root\static\images\btn_120x50_powered.png"
created "TEST\root\static\images\btn_120x50_powered_shadow.png"
created "TEST\root\static\images\btn_88x31_built.png"
created "TEST\root\static\images\btn_88x31_built_shadow.png"
created "TEST\root\static\images\btn_88x31_powered.png"
created "TEST\root\static\images\btn_88x31_powered_shadow.png"
created "TEST\root\favicon.ico"
created "TEST/Makefile.PL"
created "TEST\script/test_cgi.pl"
created "TEST\script/test_fastcgi.pl"
created "TEST\script/test_server.pl"
created "TEST\script/test_test.pl"
created "TEST\script/test_create.pl"

D:\Catalyst>

土曜日, 10月 21, 2006

[EC2] 上がるインスタンスは・・

EC2のdmesgはこんな感じ。

[root@domu-12-31-33-00-01-83 mail]# dmesg
Linux version 2.6.16-xenU (builder@patchbat.amazonsa) (gcc version 4.0.1 20050727 (Red Hat 4.0.1-5)) #1 SMP Mon Aug 14 19:11:10 SAST 2006
BIOS-provided physical RAM map:
Xen: 0000000000000000 - 000000006a400000 (usable)
980MB HIGHMEM available.
727MB LOWMEM available.
NX (Execute Disable) protection: active
On node 0 totalpages: 437248
DMA zone: 186366 pages, LIFO batch:31
DMA32 zone: 0 pages, LIFO batch:0
Normal zone: 0 pages, LIFO batch:0
HighMem zone: 250882 pages, LIFO batch:31
IRQ lockup detection disabled
Built 1 zonelists
Kernel command line: root=/dev/sda1 ro 4
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 65536 bytes)
Xen reported: 2405.450 MHz processor.
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Software IO TLB disabled
vmalloc area: ee000000-f53fe000, maxmem 2d7fe000
Memory: 1718700k/1748992k available (1958k kernel code, 20948k reserved, 620k data, 144k init, 1003528k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 4812.57 BogoMIPS (lpj=24062865)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 078bc3f1 e3d3fbff 00000000 00000000 00000001 00000000 00000001
CPU: After vendor identify, caps: 078bc3f1 e3d3fbff 00000000 00000000 00000001 00000000 00000001
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU: After all inits, caps: 078bc3f1 e3d3fbff 00000000 00000010 00000001 00000000 00000001
Checking 'hlt' instruction... OK.
Brought up 1 CPUs
migration_cost=0
Grant table initialized
NET: Registered protocol family 16
Brought up 1 CPUs
xen_mem: Initialising balloon driver.
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
i8042.c: No controller found.
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Xen virtual console successfully installed as tty1
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
mice: PS/2 mouse device common for all mice
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
NET: Registered protocol family 2
Registering block device major 8
IP route cache hash table entries: 65536 (order: 6, 262144 bytes)
TCP established hash table entries: 262144 (order: 9, 2097152 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Using IPI No-Shortcut mode
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 144k freed

***************************************************************
***************************************************************
** WARNING: Currently emulating unsupported memory accesses **
** in /lib/tls glibc libraries. The emulation is **
** slow. To ensure full performance you should **
** install a 'xen-friendly' (nosegneg) version of **
** the library, or disable tls support by executing **
** the following as root: **
** mv /lib/tls /lib/tls.disabled **
** Offending process: init (pid=1) **
***************************************************************
***************************************************************

Continuing...

md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
dm_mod: no version for "struct_module" found: kernel tainted.
device-mapper: 4.5.0-ioctl (2005-10-04) initialised: dm-devel@redhat.com
EXT3 FS on sda1, internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS on sda2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
[root@domu-12-31-33-00-01-83 mail]#

金曜日, 10月 20, 2006

[EC2] やはりマスカレードからじゃ無理かも

VPNでPCをむりやり固定IP化+amazon-fwを空けてやってみたがやはり失敗。
サーバ側のログを見てみると、やはりマスカレードの影響のだった(PCのローカルIPに向かって通信を失敗している)。

2006/10/20 09:55:03 ERROR - jmeter.samplers.StandardSampleSender: sampleOccurred java.rmi.ConnectIOException: Exception creating connection to: 192.168.11.3; nested exception is:
java.net.NoRouteToHostException: No route to host
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at org.apache.jmeter.samplers.RemoteSampleListenerImpl_Stub.sampleOccurred(Unknown Source)
at org.apache.jmeter.samplers.StandardSampleSender.SampleOccurred(StandardSampleSender.java:66)
at org.apache.jmeter.samplers.RemoteListenerWrapper.sampleOccurred(RemoteListenerWrapper.java:85)
at org.apache.jmeter.threads.ListenerNotifier.notifyListeners(ListenerNotifier.java:239)
at org.apache.jmeter.threads.JMeterThread.notifyListeners(JMeterThread.java:466)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
... 11 more

2006/10/20 09:55:03 INFO - jmeter.threads.JMeterThread: Thread TEST 1-77 is done

どうするかなー。

[EC2] EC2上にJMeterサーバを入れて。。

PC側クライアントからEC2上のJMeterサーバ を使ってみようとしているがうまくいかない。

クライアントからのアクセス許可はamazon-fwを抜けられているはずだけど。
G:\EC2\bin>ec2-authorize apache -P tcp -p 1099 1099 -s 202.178.xxx.105/32

JMeterはRMIというのを使って通信しているらしいので、マスカレードされたクライアントから接続してもうまくいかないのかな(あ、でもtelnet 1099もだめだから別の理由だな)。

[EC2] 自分の設定を確認するには

◇環境変数の設定
G:\EC2>type setenv.bat
set JAVA_HOME=C:\Program Files\Java\jre1.5.0_06
set EC2_HOME=G:\EC2
set PATH=%PATH%;%EC2_HOME%\bin
set EC2_PRIVATE_KEY=%EC2_HOME%\pk-6NXXXXYYUABVSJAXUDBEDGSSRYFTVAG6.pem
set EC2_CERT=%EC2_HOME%\cert-6NXXXXYYUABVSJAXUDBEDGSSRYFTVAG6.pem
set CLASSPATH=%EC2_HOME%\lib
G:\EC2>

◆インスタンスを確認する
G:\EC2\bin>ec2-describe-instances
RESERVATION r-93c92cfa 246339835965 default
INSTANCE i-b5a541dc ami-6dae4b04 domU-12-31-33-00-01-83.usma1.com
pute.amazonaws.com running gsg-keypair

◆セキュリティグループを確認する
G:\EC2\bin>ec2-describe-group
GROUP 246339835965 apache TAKESHI
PERMISSION 246339835965 apache ALLOWS tcp 80 80 FROM
CIDR 0.0.0.0/0
GROUP 246339835965 default default group
PERMISSION 246339835965 default ALLOWS all FROM
USER 246339835965 GRPNAME default
PERMISSION 246339835965 default ALLOWS tcp 22 22 FROM
CIDR 0.0.0.0/0
PERMISSION 246339835965 default ALLOWS tcp 80 80 FROM
CIDR 0.0.0.0/0

◆defaultにルール追加
G:\EC2\bin>ec2-authorize default -P tcp -p 1099 1099 -s 202.178.93.105/32
GROUP default
PERMISSION default ALLOWS tcp 1099 1099 FROM CIDR
202.178.93.105/32

◆apacheグループとdefaultグループの2つがあったのでapacheを削除
G:\EC2\bin>ec2-delete-group apache
GROUP apache

◆セキュリティグループを確認する
G:\EC2\bin>ec2-describe-group
GROUP 246339835965 default default group
PERMISSION 246339835965 default ALLOWS all FROM
USER 246339835965 GRPNAME default
PERMISSION 246339835965 default ALLOWS tcp 22 22 FROM
CIDR 0.0.0.0/0
PERMISSION 246339835965 default ALLOWS tcp 80 80 FROM
CIDR 0.0.0.0/0
PERMISSION 246339835965 default ALLOWS tcp 1099 1099 FROM
CIDR 202.178.93.105/32

木曜日, 10月 19, 2006

[EC2] 日本への通信経路は


[tf0054@domu-12-31-34-00-01-f1 ~]$ traceroute dns01.xxx.jp
traceroute to dns01.xxx.jp (210.148.164.xxx), 30 hops max, 38 byte packets
1 dom0-216-182-234-224 (216.182.234.224) 0.100 ms 0.039 ms 0.034 ms
2 othr-216-182-234-194 (216.182.234.194) 0.479 ms 0.254 ms 0.212 ms
3 othr-216-182-232-9 (216.182.232.9) 0.433 ms 0.263 ms 0.218 ms
4 othr-216-182-232-19 (216.182.232.19) 0.691 ms 0.607 ms 0.600 ms
5 ge-1-1-5.was10.ip.tiscali.net (213.200.84.69) 0.669 ms 0.687 ms 0.653 ms
6 * * *
7 lax002bb00.IIJ.net (216.98.96.175) 82.227 ms 82.033 ms 82.146 ms
8 tky008bb00.IIJ.Net (216.98.96.178) 183.947 ms 183.956 ms 183.934 ms
9 ykh002bb01.IIJ.Net (58.138.98.23) 190.747 ms 190.714 ms 190.718 ms
10 ykh002gate00a.IIJ.Net (210.130.199.230) 190.880 ms 190.615 ms 190.617 ms
11 210.138.29.xxx (210.138.29.xxx) 190.601 ms 190.797 ms 190.881 ms
12 * * *

[tf0054@domu-12-31-34-00-01-f1 ~]$

水曜日, 10月 18, 2006

[EC2] 日本からの通信経路は


d:\>tracert domu-12-31-34-00-01-f1.usma2.compute.
amazonaws.com

Tracing route to domU-12-31-34-00-01-F1.usma2.compute.amazonaws.com [216.182.237
.225]
over a maximum of 30 hops:

1 16 ms 15 ms 42 ms 61.206.xxx.1.myip.interlink.or.jp [61.206.113.1]

2 18 ms 18 ms 21 ms master-gate.interlink.ad.jp [203.141.128.1]
3 19 ms 19 ms 19 ms 81.143090012.odn.ne.jp [143.90.12.81]
4 21 ms 19 ms 24 ms TKErw-01G1-1.nw.odn.ad.jp [143.90.146.1]
5 20 ms 24 ms 25 ms 143.90.160.173
6 21 ms 21 ms 20 ms cba-gw6-pos7-0.gw.odn.ad.jp [210.142.163.62]
7 137 ms 135 ms 132 ms pax-gw7-pos6-0.gw.odn.ad.jp [210.142.161.38]
8 120 ms 120 ms 121 ms ge-10-0.hsa4.SanJose1.Level3.net [4.68.111.125]

9 118 ms 137 ms 119 ms so-2-3-0.bbr1.SanJose1.Level3.net [4.68.121.225]

10 207 ms 224 ms 217 ms ae-0-0.bbr1.Washington1.Level3.net [64.159.0.229
]
11 208 ms 205 ms 206 ms ae-11-55.car1.Washington1.Level3.net [4.68.121.1
46]
12 205 ms 206 ms 209 ms AMAZONCOM.car1.Washington1.Level3.net [4.79.228.
46]
13 217 ms 228 ms 207 ms othr-216-182-224-16.usma1.compute.amazonaws.com
[216.182.224.16]
14 209 ms 207 ms 207 ms othr-216-182-232-18.usma2.compute.amazonaws.com
[216.182.232.18]
15 240 ms 242 ms 207 ms dom0-216-182-234-224.usma2.compute.amazonaws.com
[216.182.234.224]
16 * * * Request timed out.
d:\>

月曜日, 10月 16, 2006

"Yahoo UI Library"で2つほど

これ に注意しつつ,,YUIのカレンダーを社内のウェブサイト運用ツールで使ってみた.

Firefoxでは特に気にせず使えるだけど,IEでは「未知のエラー」といって怒られた.いろいろ調べたところ,結局BODYタグの直下にカレンダー用DIVを作らないといけないことが判明(というかIEはjsのデバッグしずらい).

そういうものなのか.

あと,日本語版の例は2up(2ヶ月分がポップアップする)のだけどこれは1ヶ月だけにできないのかな?(簡単にはできない様子だけど..).

日曜日, 10月 08, 2006

ActivePerlでEXEを作成2

Perlのexe化にはいくつか方法があるらしい
ActivePerlの商品版は、$150と書いてあるが、以外に安いね。

WindowsとなればGUIが使いたいが、どうなのだろう。
PARと合わせるにはこんなことも必要とのことだ。

土曜日, 10月 07, 2006

ActivePerlでEXEを作成

こちらを参考にActivePerlでwindows用のexeを作ってみた.

参考ページと少し異なったのでメモ

ActivePerlがv5.8.8-819だったので(GUIになった)ppmから,
  • PARとWin32-EXEモジュールを追加インストール
  • pp.exeはC:\perl\site\bin以下に入るのでPATHを追加
これくらいでpp.exeが動き,本当に普通にexeが出来た.素晴らしい.

仕組みとしてperl.dllとスクリプトを一本の圧縮ファイルにしておいて,
(Perlのインストール無くとも)実行できるだけ.

だからさすがに出来たファイルのサイズも大きい(Perlで50行程度の
ものなのに,,1.3Mでした).

D:\>pp -V
Set up gcc environment - 3.2.3 (mingw special 20030504-1)
Perl Packager, version 0.12 (PAR version 0.90)
Copyright 2002, 2003, 2004, 2005 by Autrijus Tang

Neither this program nor the associated "parl" program impose any
licensing restrictions on files generated by their execution, in
accordance with the 8th article of the Artistic License:

"Aggregation of this Package with a commercial distribution is
always permitted provided that the use of this Package is embedded;
that is, when no overt attempt is made to make this Package's
interfaces visible to the end user of the commercial distribution.
Such use shall not be construed as a distribution of this Package."

Therefore, you are absolutely free to place any license on the resulting
executable, as long as the packed 3rd-party libraries are also available
under the Artistic License.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


D:\>

ちなみに,PARのバグレポートはココ

火曜日, 4月 04, 2006

CentOS(v4.3)の導入

GFSの練習がしたくて,CentOSを導入.

こいつをiSCSIターゲットに仕立て上げようと思うものの,標準インストールをしたためにフリーのPEが無く挫折しそう...

というところでLVMでのパーティション縮小について記事を見つけたので,参考にさせてもらって明日はがんばって縮小してみます.