nDiki : 2004年01月中旬
2004年1月11日 (日)
■ 過去の今ごろ

過去の1月11日より。
- Dove の味
- その後もまたやらかしているのだが、なぜか逆のパターン(歯磨き粉で洗顔)はたしかまだない。
■ tkh夫妻を囲む会

今日は先日来社したtkh夫妻を囲んでお昼を食べる日。 妻とともに銀座へ。
@ ギーニョギーニョ
11:30にJR有楽町駅の改札口で待ち合わせて、ガード下のスペイン料理のお店「ギーニョギーニョ」へ。 場所を決めていなかったので朝webで検索してあたりを付けておいたのだが、ゆっくりできたしなかなか良かったんじゃないかな。 バイキングが自分の好きなペースで食べれるかなと、最初は以前にもいった事もあったジョン万次郎にしようと思っていたのだがWebで確認したら銀座店は無くなっているようだ。
ギーニョギーニョは駅から近いし、時間制限がないし(日曜はランチ終了15:00までOK)、ちょっと集まる時にはいいのかも。 味はそこそこかな。料理はもう少し品数が多いといいんだけれど。 出来上がると店員が祭りのように大騒ぎして店内を巡ってから給仕が始まるパエリアは、ちょっとカタめでイマイチだった。 デザートは食べなかったので不明。 加藤茶のヅラtopのちょび毛みたいなくねくねチョコの乗った洋菓子が気になったかな。
今回はtkh夫妻、研究室が一緒だったやまだ君、花田君と我々夫婦の6人。
計算機談議に終始した昔とは違い、子育て・住まい・株などの話題も多くのぼりある意味衝撃的であった。大人らしくなってきたのか? ま、計算機の話ももっとモリモリしたかったけどね。
やまだ君が研究室から EOS-10Dを持ってきていた(持ってきてと頼んだ)。 やはり一眼レフはいいね。レスポンスがいい。
@ Apple Store,Ginza
年末には1Fしかのぞかかなかったんだけれど、今日はきちんと4Fから1Fまで見てまわってみた。 tkhは sourceforge から iTerm をデモ端末にダウンロードして、他マシンにログインしてメールチェックしてた。ふふふ。
ゆっくり見てまわってから、お店の前で解散。 また帰国した際には飯食いましょう。
- 丸ビル (2004-04-11)
- 今日のさえずり - 小栗旬から年賀状きてる (2010-01-01)
- NaneyOrgWiki 自由が丘OFF2003 (2003-11-05)
- ケーキを食べるつもりが2度辛いに (2006-03-21)
- 研究室 OB Twitter-ers と秋葉原で飲んだ (2008-09-11)
■ www.naney.org BTS 休止

ディスク容量が結構やばくなってきたので、ホームにインストールしていた Ruby とともに、影舞を削除・www.naney.org BTS を停止。
- 今日のさえずり - ポッポのメガポテトにした (2010-02-08)
- Ruby 1.8.1 + 影舞 0.8.4 (2004-10-08)
- 影舞プロジェクトテンプレートを作っておく (2005-05-26)
- [ www.naney.org ] 23:00 明日に移転先サーバの設定完了予定 (2002-01-22)
- ホームネットワークカメラ BL-C10 買っちゃった (2005-01-18)
2004年1月12日 (月)
■ 過去の今ごろ

過去の1月12日より。
- ドンケ F-2 タン
- まだ1回しか出番がない。
■ [ Perl ] Memcached を使ってみる

WiKicker の高速化に Memcached が使えないかいろいろいじってみる。 評価は今のところ「微妙」。 Memcached はメモリキャッシュを提供するデーモンプログラムで、キーと値の配列を記憶しておいてくれる。 Slashdot でも使っているらしい。
ホスティングサービスのサーバ(FreeBSD 4.4-RELEASE)に入れてみる。
@ Memcached 1.1.10
依存している libevent と一緒にビルドしてインストール。
cd /tmp wget http://www.monkey.org/~provos/libevent-0.7c.tar.gz tar zxvf libevent-0.7c.tar.gz cd libevent-0.7c ./configure make cd .. wget http://www.danga.com/memcached/dist/memcached-1.1.10.tar.gz tar zxvf memcached-1.1.10.tar.gz cd memcached-1.1.10 CFLAGS='-L../libevent-0.7c -I../libevent-0.7c' ./configure --prefix=$HOME/local/memcached-1.1.10 make make install
'-l' オプションがうまく動かない。
bind(): Can't assign requested address failed to listen /PRE
指定しなくても動くのでとりあえず、よしとする。
ちなみに、EVENT_SHOW_METHOD=1 の結果は以下の通り。
$ EVENT_SHOW_METHOD=1 ./memcached libevent using: kqueue
@ Cache::Memcached 1.0.11
Perl 用の API モジュールを入れておく。 make test でこける。
Your vendor has not defined Socket macro MSG_NOSIGNAL
use Socket qw(MSG_NOSIGNAL PF_INET SOCK_STREAM); のところ。 Solaris/*BSD だと駄目らしい。 CVS版だと解決されいるようなので、こちらを。
@ Cache::Memcached CVS
cvs -d :pserver:anonymous@danga.com:/home/cvspub checkout wcmtools/memcached/api/perl
でとってくる。 こちらは Perl 5.005_03 という古いバージョンでいくつか問題。
our $SOCK_TIMEOUT = 2.6;
のところの our は Perl 5.005_03 には無いので、use vars に置き換え。 use bytes も 5.005_03 に無いのでコメントアウト。
IO::Handle::blocking() も無い。
sub my_blocking {
my ($sock, $bool) = @_;
my $old_flags = fcntl($sock, F_GETFL, 0)
or die "Can't get flags for the socket: $!\n";
if ($bool) {
my $flags = fcntl($sock, F_SETFL, $old_flags | O_NONBLOCK)
or die "Can't set flags for the socket: $!\n";
}
else {
my $new_flag = $old_flags & ~O_NONBLOCK;
my $flags = fcntl($sock, F_SETFL, $new_flag)
or die "Can't set flags for the socket: $!\n";
}
return $old_flags & O_NONBLOCK;
}
...でいいのかな? ささっと書いたんで一部バグっているかもしれないが、とりあえず代替しておく。
ちなみに Cache::Memecached の古い版、MemCachedClient-1.0.7 も試してみたけれどこちらも IO::Socket::INET が必要だったり面倒(なので、1.0.11 のパッチ当ての方をがんばった)。
@ スピード
うーん。思ったほど速くないな。 いや手元のLinuxだとかなり速いんだけれど、FreeBSD だとそうでもない。 Client側の問題が大きいようだ。 下手するとLinux BOX からADSL経由でキャッシュを読み込む方が、FreeBSD のローカルホストから読むより速かったりする。
どうも Socket の接続/切断まわりでもたついている感じである。 (無駄なはずなのだが)毎回 disconnect_all してしまった方が、Benchmark の値が良かったりするし。 接続 -> キャッシュ取得 -> 切断 で 0.6秒というのはちょっと遅すぎる。 もうちょっといじってみれば実用的な速度になるのだろうか?
- Cache::Memcached 1.13 の Perl 5.005_03 対応 (2004-06-05)
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- [ WiKicker ] キャッシュまわりにバグ (2004-06-05)
- Berkeley DB 4.2.52 + DB_File 1.808 をホ... (2004-02-08)
- 他の Web サイトの情報を URI::Fetch でキャッシュ付き取得 (2005-10-29)
2004年1月13日 (火)
■ 過去の今ごろ

過去の1月13日より。
- ウェスティンホテル淡路 (2004-10-25)
- tkh夫妻来社 (2004-01-09)
- [ 秋葉原 ] マハーポーシャ (2004-02-28)
- 久しぶりに TeX (LaTeX2e) のマクロ書き (2004-07-13)
- tkh (2004-05-30)
■ Mew の設定とか

SSH 経由で、POP before SMTP なサーバ(qmail + vpopmail)へは
smtp-server: hoge.example.com smtp-ssh-server: hoge.example.com
でなくて
smtp-server: localhost smtp-ssh-server: hoge.example.com
でないと駄目なのかな (SMTPサーバ = SSHサーバ)。 以前は SMTPサーバ と SSHサーバが違うホストの設定を使っていたので、それぞれFQDNを書くだけだったのだが。
- ISP から Outbound Port25 Blocking を行うとの... (2006-05-23)
- 一部のドメインのみ Gmail 経由ではなく SMTP over SSH ... (2008-09-04)
- Mew 3.1 -> SMTP server -> docomo.ne.jp (2003-02-09)
- Mew - mew-ssh-keep-connection (2004-04-19)
- OP25B 回避のために PortForwarder で port fow... (2006-10-01)
■ [ WiKicker ] CSS修正

Safari だとリスト項目の時が小さくなりすぎるというので、修正。
- nDiki のサイドバーを右に移動 (2006-03-02)
- [ WiKicker ] textarea ビヨーン (2004-02-04)
- [ WiKicker ] deb 化 (2003-12-26)
- [ DiKicker ] くっつき BBSをくっつけてみた。 (2004-05-04)
- 「s」文字をキー入力できない WikiEngine (2006-05-24)
2004年1月14日 (水)
■ 過去の今ごろ

過去の1月14日より。
- ハリー・ポッターと賢者の石
- もう役者も顔が変わっちゃたしな。
■ [ お仕事 ] 送りたかったメールが。

昨日送ったはずのメールが届いていないようだ。 確認したら Mew の draft に残っていた。 再編集しようとしたら化けたので kill。 draft からも消えてた。
30分かけて書き直し。
- ISP から Outbound Port25 Blocking を行うとの... (2006-05-23)
- 今日のさえずり - この時期、お弁当屋の弁当に黒豆が入っていると (2008-01-09)
- 今日のさえずり - 入り口に盛り塩? (2010-02-15)
- 今日のさえずり - ずっと「黄金のたれ」だと思っていたのだが (2009-02-17)
- 今日のさえずり - ヨイコだからボク一度も飲み会の間に tweet しなかったよ (2010-02-26)
■ [ Perl ] Cache::Memcached

もう一度確認したら、昨日思っていたほどより遅くなかった。 また、CVS版では、Cache::Memcached の new オプションで select_timeout でちょっと大き目の値を指定してあげると(デフォルト 1.0)「selectがタイムアウト→ socket がクローズされる」事がなくなってそこそこいい速度が出るようになった。 ちなみに Cache::Memcached 1.0.11 にはまだこのオプションはない。
うん。これなら高速化に使えるかも。
- Cache::Memcached 1.13 の Perl 5.005_03 対応 (2004-06-05)
- [ Perl ] Memcached を使ってみる (2004-01-12)
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- Module::Build でソースパッケージング (2005-08-24)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
2004年1月15日 (木)
■ 過去の今ごろ

過去の1月15日より。
- Evernote 使用開始 (2009-03-03)
- KeePass 2.x はマルチプラットフォームに難 (2010-03-13)
- ZumoDrive インストールしたけれど使い道がまだない (2009-02-27)
- ホームネットワークカメラ BL-C10 買っちゃった (2005-01-18)
- 今日のさえずり - 後ろ髪を触ったら寝癖 (2010-02-09)
■ [ WiKicker ] Memcached を使った検索結果のキャッシング

WiKicker の機能のうち、ヘビーな処理が必要なものの筆頭に検索機能がある。 今のところ単純に全ページに対してマッチング処理を行うのでページ数が増えるに従い遅くなってくる。 ロボットの総ナメが怖い*1ので NaneyOrgWiki では load average が 5 を越えたら一時的に検索機能が停止するようになっている。
そこで Memcached を使って検索結果をメモリキャッシュするようにしてみた。 本当はWikiPageのパース・レンダリング結果をキャッシュして、通常のページ表示を高速化したいと考えているのだが、今はまず影響の少ないところから(何でもいいから Memcached を使ってみたいというのが本音)。
で、実装してみた。 キャッシュがヒットすればすばやくレスポンスを返せるはずなのだが...やはり微妙だな。 速くなった気もするのだが、サーバの状態によってかなり遅い時もあるようだし。 まずはこれでしばらく運用テストしてみて、効果がありそうだったら他の部分にも適用することにしよう。
- [ WiKicker ] 古くても検索キャッシュを返す (2004-01-20)
- [ WiKicker ] キャッシュまわりにバグ (2004-06-05)
- 私的10大ニュース2004 [ web ] (2004-12-31)
- [ WiKicker ] Memcachedのメモリ使用量 (2004-02-15)
- DiKicker に grep 検索機能を追加 (2007-02-02)
■ カツ丼弁当

たまに買いに行く会社の近くの食堂で、カツ丼弁当を買ってきた。 酸っぱい。
スタミナ弁当もひどかったのだが、こいつもヒドい。 ここは当たり外れが激しいな。 もうやめよう。
- 今日のさえずり - 時代はアレグラ (2010-02-24)
- ビビンバ丼をデリバリー (2005-02-23)
- 今日のさえずり - これ Emacs なのよね (2010-01-26)
- 今日のさえずり - ささやかな気持ちDES (2008-11-07)
- 今日のさえずり - 今ごろではあるが PlayNow by SO アクセス (2010-01-05)
2004年1月16日 (金)
■ [ お仕事 ] OCNエコノミー -> OCN ADSLアクセスIP8「フレッツ」プラン

本日移行。IP アドレス、DNS サーバ、メールサーバ、Web サーバを一斉入れ換え。
午前中にはJPRS側の設定が変更され一時的に名前が引けなくなる。 午後、ADSL側開通(フレッツADSL 12M からサービス変更)。 ほぼ順調。
ただし、中からADSL経由で外へ出ていけない(別の人がルータの設定に苦戦)。 OCNエコノミー側から外へ出れるのだが、」OCNエコノミー側の IP アドレスの正引きがキャッシュされていて古い名前が引けるけど、逆引きはもうできない」という状態に一時的にあるせいで、naney.org に ssh 接続できず(ssh_exchange_identification: Connection closed by remote host)。
別の某大学サーバへは ssh でき、そこから naney.org へ ssh。 ログを見ると、
Jan 16 15:20:05 www9 sshd[9382]: warning: /etc/hosts.allow, line 34: can't verify hostname: getaddrinfo(xxx.yyy.co.jp, AF_INET) failed Jan 16 15:20:05 www9 sshd[9382]: refused connect from aaa.bbb.ccc.ddd (aaa.bbb.ccc.ddd)
という感じ。うーん SSH経由での外部サーバからのメール取得ができん。 しょうがないので、某大学にSSHトンネルを掘り、そのトンネルの中にもいっちょトンネルを掘って一時的に迂回。
ssh -L 12345:www.naney.org:22 xxx.yyy.ac.jp
しておいて、
ssh -L 12346:xxx.naney.org:110 -p 12345 localhost
して、localhost:12346 にPOP3接続と。
そうこうしている間に直ったらしい。
@ 完了
DNSセカンダリのゾーン転送もうまくいっているという連絡が入ったし、ほぼ移行作業完了。 残業/休日出勤しないで済んだ。
- リモートポートフォワーディングでライブカメラを晒す (2005-01-21)
- www.naney.org をさくらのレンタルサーバへ移転 (2009-12-23)
- 今日のさえずり - 過去の未使用年賀はがきが累積で41枚 (2009-12-29)
- Tor で hidden service (2005-02-13)
- 私的10大ニュース2004 [ work ] (2004-12-31)
■ 過去の今ごろ

過去の1月16日より。
- Sodipodi + Batik
- 今だに自分にとっての定番作図ツールが無い(たまに Sodipodi を使用)。なんか「コレだ!」っていうのは無いのだろうか。
- SVG ドローツール Inkscape 0.43 (2006-01-21)
2004年1月17日 (土)
■ 過去の今ごろ

過去の1月17日より。
- 今日のさえずり - VIP リスト作った (2009-11-01)
- 16:30 ドコモショップ (2001-12-10)
- 今日のさえずり - 京都の小学校のコンピュータ室にいったら、Squeak が (2008-03-06)
- ホームページ・ビルダーのサイト転送を secure に (2002-04-16)
- 品川 (2004-02-11)
■ [ WiKicker ] 「最近のアクセスログ」処理思案

今のところ WiKicker 自体にはアクセスログ機能はなく、Apache のそれに頼っている(NaneyOrgWiki ではサーバ側で combined log を提供していないので別途自前で、似非 combined log を吐かせている)。
1日毎程度のアクセス統計チェックはこれでまぁある程度済むのだが、それとは別に瞬間的なアクセス状況を知りたい時がままある。 特にサーバの負荷が上がりつつある時は
- 特定のホストから連続的なアクセスがないか?(ロボットなど)
- 特定のページのリクエストが一時的に増えているのでは?(ドラマ放映終了直後など)
- 特定の訪問者がリロードしまくってないか?(チャット等と勘違いして)
などをチェックしたい。 ロボットのアクセスがひどい場合は早急にはじく必要があるし。 しかし、生アクセスログの目視チェック(+grep etc)では限界がある(wiki のURIはページ名がエスケープされているからパッと見どのページかわからないし)。
ということで、直近のログを簡単にチェックできるような機能を検討。 まずはログをどこに取るか。 複数のCGI プログラムのプロセスから、ガシガシ書ける必要有り。
- 普通のファイル
- daemon
- mmap
- 共有メモリ
あたりか。 直近の数百アクセスだけあれば良く、逆にそれ以上のログはばんばん破棄したいのだが何が一番いい実装かなぁ。
シンプルに普通のファイルに append するのが一番楽だが、ログが増えると tail を取るのが遅くなるだろうし、ログを切り詰めるのも面倒。 Perl の Tie::File を使うとファイルの各行を配列要素に見立てて push、 unshift、splice ができるのだが、やはり切り詰めに時間がかかりすぎる。
使えそうなモジュールがないかいろいろCPANを検索して、とりあえずどんどんビルドしてみる(サーバの Perl が 5.005_03 なので、目的にあっても使えないかもしれないし)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- [ WiKicker ] SpeedyCGI (2003-10-17)
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- Perl CGI プログラムのテストには WWW::Mechanize::... (2006-02-18)
■ 要領を得ないメール

どうしたいのかよくわからんので保留。
- つくばエクスプレスではNTTドコモの PHS が使えない (2006-11-06)
- SO905iCS ファーストインプレッション (2008-02-16)
- 今日のさえずり - VIP リスト作った (2009-11-01)
- ほぼ日手帳2006到着 (2005-11-18)
- Google Apps カレンダーを全員/チーム内で共有する方法 (2010-02-24)
2004年1月18日 (日)
■ こえだちゃん

妻と「キノコのおうち」の話で盛り上る。 小さい頃にどちらに家にあったアイテムとして(私の方は妹のだが)。 調べたら正確には「キノコちゃんとキノコのレストラン」だったか。 ちなみにウチには、
- 「こえだちゃんと木のおうち」
- 「キラキラちゃんと星のおうち」(キキララだと思ったら違った) - 木のおうちと合体可能
- 「キノコちゃんとキノコのレストラン」
があった。
- IKEA はレストランが楽しい (2009-12-28)
- キャリーオンバッグ物色 (2006-08-10)
- 母の年賀状文面作成 (2004-12-12)
- スクウェアフォーマットピンホールカメラ PP35/SQ[tigre] (テ... (2005-10-20)
- 横浜の親戚訪問 (2009-12-19)
■ 過去の今ごろ

過去の1月18日より。
- AWStats 3.2 使ってみる
- アクセスログ処理って定期的にイジって遊びたくなるんだよね。
- 本サイトの Referer 統計復活 (2000-11-05)
- mixiに登録 (2004-11-19)
- Google Analytics のデータからよく検索されるキーワードを表... (2007-12-18)
- [ www.naney.org ] 12:30 98019KB (2001-09-19)
- [ www.naney.org ] CGI プログラムによるサーバ過負荷 (2003-12-16)
■ お年玉付年賀はがき

ゼロ。
■ [ WiKicker ] IPC共有メモリを用いた直近のアクセスログ管理

昨日から本格的に検討していたアクセスログ管理であるが、今回は IPC::ShareLite モジュールを使って、IPC共有メモリに置くことにした。
- 共有メモリなのでファイルに書くより圧倒的に速い。
- (ipc key を変更した時など)削除し忘れてメモリに残るおそれがあるので注意。
- IPC::ShareLite は Perl 5.005_03 でも動く。
- FreeBSDを使っているサーバで共有メモリが使えた(共有メモリを使うPostgreSQL が使えるようになっている事からも心配なし)。1024 * 512 bytes 取っても問題なし。
- Storable を使ってシリアライズ。
- この共有メモリを扱うモジュールファイル名を__FILE__で取得し、その更新ファイルをマジックナンバーとして、共有メモリに一緒に書いておく。読んだ時に一致しなければ破棄するようにする(今後しばらく、ちょくちょく形式を変更すると思うので)。
ちゃちゃっと実装して、やっつけであるが直近のログを見れるようにした(RecentLog )。 順次表示する情報の追加や、表示数の調整を行う予定。 それから、各ページでのロギング処理が高負荷時に重荷にならないか要チェック。
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker 実装 (2002-10-20)
- [ WiKicker ] 憧れのサイドバー (2004-01-23)
- [ WiKicker ] SunOS 5.6 にインストール (2003-04-23)
2004年1月19日 (月)
■ [ WiKicker ] ピーク時の様子

先日実装したRecentLogページで、ピーク時*1のアクセスについてチェックしてみた。 特定のページだけに集中している訳ではなくて、その時間においても思ったより他のページにもアクセスがあるな。 1分あたりのリクエスト処理数は最大で約38(直前300リクエスト処理時間での平均)ぐらいだった。 同時アクセス数が増えると1リクエストにかかる処理時間も増えるし、これぐらいが今のサーバ/コードでは限界ということかな(SpeedyCGI で MaxBackends を 30 に設定しているため、これ以上は同時に処理しない)。
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
- [ DiKicker ] 最低限の機能を実装 (2004-02-22)
- [ WiKicker ] SpeedyCGI (2003-10-17)
- [ WiKicker ] RCSファイルのリビジョン間引き (2004-04-04)
- 今日のさえずり - チョコレート臭のするリップクリーム塗られた (2009-12-23)
■ 過去の今ごろ

過去の1月19日より。
- ポリウレタンフォーム貼り
- 1年経過。まだ綺麗。結構劣化しないものだな。
■ [ Debian ] qmail + vpopmail + fml でポカミス

先週末に本格始動した Debian BOX、午前中メーリングリストにメールを送ったら配送されない(10日ほど前に設定したやつ)。
log を見る限り permission の様子なのだが。 g+rw したりしたのだが改善されず。 うーん。メーリングリストオーナ(=naney)権限で動くから、その必要もないはずなんだけれどなぁ。vpopmail権限で動いちゃっているのかなぁ。 テストメメーリングリストを作った時には問題なかったのだが。
で小一時間。 /etc/qmail/users/assign
+xxx.co.jp-testml:naney:1000:1000:/var/spool/ml/etc/qmail/alias:-:testml:
ふう。xxx.co.jp ですよ。 手順まとめた時に伏せ字にしておいたのだが、そのままコピーしてあったよ。 当然実際にはマッチしないので、その後の、
+yyy.co.jp-:yyy.co.jp:64020:64020:/var/lib/vpopmail/domains/yyy.co.jp:-::
(yyy は本当の名前ね)
行により vpopmail 扱われたと。 で「/var/lib/vpopmail/domains/yyy.co.jp/.qmail-メーリングリスト名」が一応あるから、vpopmail 権限で fml.pl が動いて。
午前中つぶしてしまったよ。
- [ Debian ] woody + qmail + vpopmail +... (2004-01-08)
- UNIXアカウントの方に大量にたまっていたfml管理メール (2005-03-12)
- Debian + qmail + fml で複数管理者の場合は user/... (2005-04-04)
- ブレーカー + メーリングリストアカウント中の'-' (2004-01-22)
- [ Debian ] PIO -> DMA (2004-02-12)
2004年1月20日 (火)
■ 過去の今ごろ

過去の1月20日より。
- 最近何も買ってないと思ったら GR DIGITAL に手を出してましたか (2005-11-16)
- 常に持ち歩きたい IXY DIGITAL 210 IS (2009-04-29)
- 今日のさえずり - やはりルイーダの酒場には不気味さを感じる (2009-08-23)
- 一眼レフお薦めの単焦点レンズ考 (2009-05-02)
■ [ www.naney.org ] サーバ重い

ホスティングサーバに入っている別のユーザのCGI プログラム(index.cgi)が昨日の夜からメチャクチャ重い。 アクセス数が多いとかじゃなくて、プロセスどんどん残ってしまっている感じ。 普通CGI プログラムって30分も動かさないでしょ。 待ち状態じゃなくてずっとRUN状態だから、ループに落ちているのかなぁ。 load averages が下らん(さすがに朝は落ちついていたのだが、昼に確認したら20前後)。 メモリは1 CGI プログラムにつき3MB前後。 (Perl スクリプトである事を考えると)、たいしてメモリは使っていない様子。
2004/1/19・Diaryに一行つっこみフォームが復活しました。インタラクティブな日記 再び!是非ご利用ください。
これが非常に怪しい。
何か見覚えのあるサイト名だと思ったら、同じ高校出身の人だ。 4学年下の方だから同時に学校にいた事はないと思うが。 同じサーバに収容されたのかぁ (昔は違うURLだったから)。
- [ 日記 ] SpeedyCGI による、同時処理数制御 (2004-01-20)
- www.naney.org サーバ断続的にダウン (2006-04-30)
- mixipress でコミュニティ掲示板もチェック (2005-10-01)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- www.naney.org に「友人・知人に紹介メール」ページを新設 (2000-12-27)
■ [ 日記 ] SpeedyCGI による、同時処理数制御

SpeedyCGI はもともとPerlスクリプト起動時の遅さ(インタプリタ起動 + プログラムのコンパイル)を回避するために、一度起動させたPerlプログラムを使いまわすもの。 Apache管理権限のない一般ユーザでもインストールして利用できるしプログラムに問題があった時の対応も簡単なので、重宝している。
もちろん mod_perl でのコーディングと同様、グローバル変数の扱いなど気をつけなければならない点はある。 hns も残念ながらそれらを意識しては書かれていないのでSpeedyCGI下では、うまく動かない。
このSpeedyCGIだが同時に生成できるバックエンドプロセスの数(-M オプション)と、各バックエンドプロセス(使いまわされるPerlプログラム)の実行回数(-r オプション)を指定できる。 例えば -M15 ならバックエンドの数を最大15になる。 16個目のアクセスがあるとバックエンドのどれかが空くまで待たされる事になる。 また -r の方は実行しているうちにどんどんメモリ使用量が増えてしまうような行儀の悪いプログラムの時などに使用するもので、例えば -r30 としておくとそのバックエンドは30回呼び出されると終了させられる(そして新しいバックエンドがまた作られる)。
で話は長くなったが例えば '-M15 -r1 -t1' というオプションにすれば、何度も実行できないようなコードのCGI プログラムでも、同時処理数制御用として SpeedyCGI が使えるというわけ(-t はバックエンドのタイムアウト指定)。
この日記もロボットの絨毯爆撃などがあるとサーバに高負荷をかけてしまう事があるので、SpeedyCGI で同時処理数を抑えるようにしてみた。 さて効果はあるかな?
- [ WiKicker ] SpeedyCGI (2003-10-17)
- mixipress でコミュニティ掲示板もチェック (2005-10-01)
- CGI プログラム、Out of memory! に泣く (2001-01-04)
- [ www.naney.org ] サーバ重い (2004-01-20)
- XAMPP で WiKicker を動かしてみた。PPM インストール OK。 (2007-02-09)
■ [ WiKicker ] 古くても検索キャッシュを返す

先日実装した Memcached による検索キャッシュ、1ページでも書き換えがあったら馬鹿正直にキャッシュを無効扱いするようにしてある。
NaneyOrgWiki は繁忙時にはサーバの負荷が上がるのを抑えるため自動的に検索機能を停止するようにしてあるのだが、本当はこの間も検索できるようにしたい(検索はWikiの肝だし)。 いまのところ WikiPage は内容が追加されるる事の方が多いので、多少古いキャッシュを使っても精度はあまり落ちないはず(再現率は下る可能性がある)。
ということで、load averages が高い時は古くても検索キャッシュがヒットすればそれを検索結果として返すようにしてみた。
- [ WiKicker ] Memcached を使った検索結果のキャッシング (2004-01-15)
- Wiki考 (2002-09-20)
- [ WiKicker ] キャッシュまわりにバグ (2004-06-05)
- [ WiKicker ] 憧れのサイドバー (2004-01-23)
- [ WiKicker ] Memcachedのメモリ使用量 (2004-02-15)
■ [ Linux ] qmail-smtpd に2GB以上のSMTPセッションを受けるとバッファオーバーフローを引き起こす可能性

/etc/qmail/databytes (Debian の場合の場所)に2GB以下の数値を指定すればよいらしい。
- メールボックスを Gmail に集約 (2007-08-08)
- ISP から Outbound Port25 Blocking を行うとの... (2006-05-23)
- [ Debian ] qmail + vpopmail + fml でポカミス (2004-01-19)
- Skype for Linux Beta 0.93.0.3 (2005-01-27)
- [ Debian ] DynaBook SS -> X31 (2003-12-05)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.022506s / load averages: 0.09, 0.12, 0.13
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。