Amazon LinuxだとCapistranoでrailsアプリをデプロイする時、特に設定しなくてもデプロイユーザーの環境変数がそのまま設定されていたのに、Ubuntuでは設定されていなかった。non interactive、non loginセッションで実行される場合、Ubuntuでは読み込むファイルが違うようだった。

Apacheのチューニング

httpd.confに設定する最大接続数(MaxClients)とかをチューニングする場合、プロセスごとにどれくらいのメモリを使っているかを調べる必要がある。Linuxなら/proc/PID以下にその情報があるので、少し整形するスクリプトを書いてやれば調査が出来る。PerlのLinux::Smapsを使うとプログラマブルに書けるらしいけど、そもそもPerlを知らないし、あまり覚える気力も無いので、awkを使ってシェルスクリプトのみで書いてみた。

今まではUbuntu9.04で開発環境を構築したけど、9.10がリリースされて、ちょっと使ってみたところ、9.04よりも動作が速かったので、9.10に移行することにした。そのときのメモ。9.10を標準でインストールすると、rpmとかyumは入っていないので、なるべく使わないようにする。

PHPにはマルチスレッドっていう概念がないのか?じゃあC#でBackgroundWorkerにやらせていたような非同期処理はいったいどうやってやればいいんだ?とかいう疑問があったけど、プロセス制御のPCNTL関数を使えば似たようなことができるそうだ。

Macで接続できることが分かったので、Windowsから接続する方法についてもメモしておく。Windowsで動くXサーバーは有名そうなのが2つある。