FTPクライアントでファイル一覧が表示されない

管理しているサーバに「FFFTPからアクセスすると中身が見えない」と報告があった。 ログをもらうとログイン、ファイル一覧の取得は「226 Transfer complete.」となっていて正常に完了した様子。 ブラウザからFTPプロトコルで接続してみるとファイル名が時刻や年と一緒になった「2007 hoge」のような名前になっている。 取得してきたファイル一覧をうまく解釈できていないよう。 そこで、正常にアクセスできる同環境のftpdとファイル一覧の形式を比べてみた。 問題になっているftpdは -rw-r–r– 1 root wheel 93 3 22 20:27 filename という形式で、正常なftpdは -rw-r–r– 1 root wheel 93 Oct 23 2006 filename という形式になっている。 もっと大胆に崩れているかと思ったけど、月の表示形式が名称の短縮名になっているか否かぐらいしか違いがない。 FTPのLISTコマンドはサーバ側の/bin/ls -lの出力に依存する。 サーバ側でls -lとすると月が数字で表示された。 これを短縮名で表示させるにはどうしたらいいだろうか。 ちょうどIRCで話していた経験者に聞くとローケルによって変わると教えてくれた。 そのときは一般ユーザからsuしたのでLC_ALL=ja_JP.eucJPになっていた。 # unsetenv LC_ALL Continue reading FTPクライアントでファイル一覧が表示されない

[MT4.2] 再構築時にデータベースへの問い合わせにかかる時間

MovableTypeではページの生成に非常に時間がかかる。 mod_perlやFastCGIを導入すればバイトコンパイルにかかる時間分を短縮できるが、再構築は分単位で時間がかかる処理のため、バイトコンパイルにかかる時間は無視できる程度になってあまり効果が出ないと思われる。 『MTからデータベースへのクエリの発行回数を減らす (mt-search.cgiを例にとって)。』ではデータベースへの問い合わせ回数を減らすことでページの生成時間を減らそうとしているが、アムダールの法則で、問い合わせにかかる時間が全体のうちに占める割合で効果が限定される。 自分の環境ではどうだろうかと思ってデータベースへの問い合わせにかかる時間を計ってみることにした。 環境は CPU Celeron 2.0GHz chip set i865G memory PC2700 768MB OS FreeBSD 7.2 DBMS MySQL 5.0.77_1 MovableType 4.2.61 という感じで、ウェブサーバと同じマシンでmysqldを動かしている。 index_page.log インデックスページのみを再構築したときのクエリログは上のようになった。 全体で449クエリ。そのうちSELECTが437クエリ、UPDATEが4クエリ、SETが8クエリ。 次にこのログを元にインデックスページ再構築時と同じクエリ列(query.txt)を作って % time mysql -u root -ppasswd databese < query.txt > /dev/null のようにして問い合わせ時間を計測した。 Continue reading [MT4.2] 再構築時にデータベースへの問い合わせにかかる時間

[FreeBSD] iP4600の設定とPostScriptプリンタ化

Canon Pixus iP4600をFreeBSD鯖につないで設定。 パラレルポートは無いようなのでUSBで接続。 /etc/printcapを設定 iP4600|Canon Pixus iP4600:\ :sd=/var/spool/lpd/iP4600:\ :mx#0:\ :sh:\ :lp=/dev/ulpt0:\ :if=/usr/local/libexec/if-simple:\ :lf=/var/log/lpd-errs: スプールディレクトリ/var/spool/lpd/iP4600を作っておく。 フィルタの/usr/local/libexec/if-simpleは/usr/share/examples/printing/if-simpleにあるのでそこからコピー。 これでsambaのprintingオプションをbsdにしておけばsambaが自動でプリンタを見つけてくれる。 Windows機からCanonのドライバで印刷すればOK。 [FreeBSD-users-jp 91344] Re: 動作 報告 Canon PIXUS MP810 ( スキャナ・プリンタ複 合機) を参考にCanonが出しているCUPS用のフィルタでPostScriptプリンタ化。 http://cweb.canon.jp/drv-upd/bj/other.html#linux から対象機種の機種別パッケージと共通パッケージをとってくる。 rpm2cpio /PATH/TO/cnijfilter-ip4600series-3.00-1.i386.rpm | cpio -ivd rpm2cpio /PATH/TO/cnijfilter-common-3.00-1.i386.rpm | Continue reading [FreeBSD] iP4600の設定とPostScriptプリンタ化

FreeBSD 7.2-RELEASE

FreeBSD 7.2-RELEASEが登場。 リリースノート FreeBSD 7.2リリース(マイコミジャーナル) FreeBSD 7.2-RELEASE登場,安定ブランチの最新版 – Jail仮想化機能IPアドレス強化とスーパーページ改善(gihyo.jp) FreeBSD 7.2 注目の新機能(gihyo.jp) 自宅サーバを7.1から7.2にアップグレード。 『FreeBSD 7.1-RELEASE』のときと同じでfreebsd-updateからアップグレードできた。

FreeBSDでRAMDISK

FreeBSDでは仮想ディスクを提供するドライバmdが用意されている。 mdconfigコマンドでmd*に仮想ディスクを追加、削除できる。 RAMディスクを作成するには。 # mdconfig -a -t malloc -s 256m -u 1 などとする。 -sにはサイズ、-uには/dev/mdに続くデバイスファイルの番号を指定する。 -tにはmalloc、vnode、swapが指定できて、mallocを指定した場合には記憶領域をmalloc(9)を用いて確保する。 あとは通常のディスク同様、 # newfs -U md1 # mount /dev/md1 /mnt としてマウントする。 仮想ディスクを解放するときは、umountした後、 #mdconfig -d -u 1 として指定した番号の仮想ディスクを削除する。 mdmfsコマンドを使えば以上のことが1コマンドで出来る。 mdmfs -M -s 5m md2 /mnt -Mオプションは記憶領域をmallocを用いて確保するように指示する。 参考: Continue reading FreeBSDでRAMDISK

GbEの速度

「CG-SW05GTPLXB」 上ではGbE環境でのFTP転送スループットは最大で34.MB/sだった。 「おしえてブロードバンド 第52回:ギガビットイーサネットってどれくらい速いの?」 では最大で523.56Mb/s、つまり65.445MB/s、こちらのほぼ倍の速度が出ている。 もちろんこちらで計測したときにはファイルには書き込まず、GETしたデータはnullに捨ててた。 チップはRealtek8110SとMarvel88E8053のよう。 どこかにボトルネックがあるのだろうかと思ってlocalにftpしてみたら34MB/sぐらいしか出ていなかった。 どうやらサーバ側のディスクI/Oがボトルネックになっていたよう。 転送用ダミーデータをSATA接続のHDDに移してホスト1→ホスト3をもう一度計測してみた。 ホスト スループット ホスト1→ホスト2 36.31MB/s ※ホスト1:GbE-PCI2、ホスト2:Intel PRO/1000 MT Mobile Connection やはりディスクI/Oがボトルネックになっていた。 ネットワーク速度がHDDの速度に追いついているということは遅延を考えなければ非常に快適な環境ということ。 ホスト1はFreeBSDのサーバ機。 カーネルオプションなどでディスクI/Oのスループットが上がったりするかも。 ネットワーク自体の速度はまた計測方法を考えよう。