Decremented Blog

プログラミング、釣り、工作など、ジャンルを特に定めず、適当に書かれたブログです。

04WebServer 2.0の開発状況

2008-01-29 22:06:42 | プログラミング・開発
04WebServer 2.0と新しいサーバソフトの開発状況です。
新しいサーバソフトは、04WebServerを流用できそうなので、先に04WebServerを開発することにしました。

新しく開発する必要のあった、UPnP機能とDynamicDNS機能の開発は一応終了しています。
HTTPサーバ部分は、現在骨組みが出来上がった段階です。HTTPサーバの開発自体は、そんなに時間がかからないと思います。

一番時間がかかりそうなのは、UIですね。
旧04WebServerのUIは、Unleakに移植時にだいぶ改良したのですが、これをまた改良して使うことになると思います。
ダイアログのデザインとかが時間を食うんですよね・・・
とりあえず、旧04WebServerのUIをそのまま流用しようかなあ・・・

DNSキャッシュ

2008-01-29 21:57:04 | プログラミング・開発
次期04WebServerには、DNSの逆引きキャッシュを搭載予定です。

これにより、アクセスの拒否の設定等で、IPアドレスではなくホスト名を利用できるようになります。
また、CGIでホスト名の取得を有効にしたときのパフォーマンスが向上します。

他に、ファイルキャッシュの搭載も検討しましたが、見送りました。
以前、高速な04WebServerを実験的に作ったとき、ファイルキャッシュを搭載するとかなり高速化できることがわかったのですが、04WebServerの利用用途を考えると、高速化よりも安定性を取ったほうが良さそうです。
ちなみに、高速版の04WebServerは、Athlon XP 1700+で、ApacheBenchのスコアが秒間2000接続程度まで向上していました。(同時10接続、2Kのファイル、ローカル)
ファイル自体はWindowsのキャッシュに入ってしまうはずですが、ファイルのオープン等に時間がかかっているようですね。

※04WebServer次期バージョンの接続受付パフォーマンスは、旧バージョンと変わりません。

中野サンプラザ

2008-01-27 09:47:09 | オタ話
今、中野サンプラザに来ています。

今日は、仮面ライダー電王ファイナルステージの公演があり、開場前から物販目当てに並んでいるのですが、一時間前ですでに百人以上並んでいます。

今日は付き添いですが、せっかくなので仮面ライダー電王を全話見て来ました。
正直、かなり面白かったです。
今日のチケットは、ヤフオクで五万以上の値段が付いてたりするので、見にこれてラッキーかも知れません。

しかし、列を見ると、9割女性ですね。
男の私は、ちょっと居心地が悪いです・・・

サイレント・ヒル PC版

2008-01-27 02:13:53 | オタ話
サイレント・ヒルのアーケード版をやってみて面白かったので、本編の方もやってみました。
PC版をやってみたのですが、PC版、日本語対応して無いじゃん・・・
コナミだから、海外版でも日本語あると思ったのに・・・3や4は日本語あるみたいなんだけど。

とりあえず、インストール、起動。
何か、ePSXe(PlayStationのエミュレータ)立ち上がってるんですけど・・・
これ、PlayStation版のゲームのイメージがそのままISOで入ってるよ(笑
つーか、BIOSイメージ入ってるんだけど、良いの、これ?

結局、ePSXeの最新版ダウンロードして、そっちでプレイ。
攻略みながらプレイしたので、4時間くらいで終わりました。
ストーリーは、何とか半分くらいは理解できたかなあ・・・
日本語版買いに行こ(笑

PS:
サイレント・ヒルのアーケード版、ラスボスに「何で助けてくれなかったの・・・」って言われたんですが、あれって助けられるんですかね?
再プレイして、手を全部倒したけど、セリフ変わらなかったし。

追記:
ラスボスの手、友人救助、UFO撃墜によって、4種類エンディングがある模様。

Unleak version 0.52 Beta リリース

2008-01-27 01:46:15 | プログラミング・開発
> Unleak version 0.52 Beta をリリースしました。
> 変更点は以下の通りです。
> ・Visual C++ 2005のランタイムが入ってないと正しく動作しない不具合を修正

UnleakTray.exe (タスクトレイ表示プログラム)のビルドオプションを間違えてた・・・orz
Unleakはセットアッププログラムまで全て自動でビルドできるのですが、こういった時にありがたみを感じます

オーバーロード・モード

2008-01-26 13:07:30 | プログラミング・開発
次期04WebServerには、オーバーロード・モードを搭載予定です。

現バージョンの04WebServerでは、最大接続数を超えた場合、超えた接続だけ503で切断しており、また、エラー時に表示するHTMLを変更できないなどの問題がありました。

次期04WebServerでは、最大接続数を超えた場合、一定時間、オーバーロード・モードになるようになりました。
オーバーロード・モードでは、一定時間、全ての接続に503を返し、またKeepAliveで持続している接続も切断されます。
オーバーロード・モードの持続時間などは設定可能です。

スレッドモデルの検討

2008-01-23 22:59:29 | プログラミング・開発
新しいサーバソフトと、04WebServerの次期バージョンで利用予定のHTTPサーバの設計をしています。
まあ、設計と言うほどの事はしてませんが・・・時間が無いので、脳内で開発してるだけです(笑)

今考えているのは、スレッドの起動・待機方法です。
04WebServerでは、以下のような方法を用いていました。

・接続受付スレッドがクライアントからの接続要求を一旦全て受け付け、接続をキューに入れます。
・スレッド起動スレッド(笑)が、キューから接続を取り出し、HTTP処理スレッドを起動して接続を渡します。
・HTTP処理スレッドは、接続が切断されると、スレッドを終了します。

悪い方法ではないんですが、一旦キューに入れたり、毎回スレッドを起動するので余り効率はよくありません。
一番効率が良いのは、最大接続数分のスレッドをあらかじめ起動しておき、全てのスレッドで接続受付を平行して行う方法です。
ただ、こちらは大量にスレッドを立ち上げるのでメモリとシステムリソースが無駄になってしまいます。
必要に応じてプールするスレッドを増やすスレッドプール方式が一番良いのですが、こちらにも色々実装方法があり、悩ましいところですね。

まあ、接続要求数に関しては、余り高パフォーマンスを求めるサーバソフトではないので、以前の04WebServerを少し改良するぐらいで十分かもしれませんね。
ネットワークの転送効率は上げたいですが

Vistaでエクスプローラが落ちまくる(vs Vista 4回目)

2008-01-16 22:59:05 | 仕事
Vistaの話、4回目です。

FMV LOOXのVista搭載モデルを仕事で使っているのですが、買ったときから、エクスプローラが落ちまくります。
Webで調べてみると、同じような現象が複数確認されているようです。
Windows Messangerと同時にインストールされる、Windows Live OneCare Family Safetyが悪さをしているケースもあるらしいのですが、私はインストールしていません。

エクスプローラを別プロセスで開くように設定すると、落ちた場合の被害を少なくすることが出来ます(設定は、コントロールパネルのフォルダオプションから可能です)。
フォルダ表示をクラシックに変更してみたところ、エクスプローラの落ちる現象は発生しなくなりました。
いったい、何が悪さをしているのやら・・・

ReadyBoostの効果(vs Vista 3回目)

2008-01-16 22:52:54 | 仕事
Vistaの話、3回目です。

Vistaには、ReadyBoostと言う、USBメモリ等を使ってシステムの高速化を行う機能があります。
原理的には、仮想メモリ(ページファイル)をUSBメモリ等に作成することで、ハードディスクのスラッシングによるパフォーマンスの低下を防ぐ仕組みです。

仕事で使っているVista搭載ノートPCで、IO-DATAのEasyDisk Platinum2(1G)を利用してReadyBoostを有効にしてみたところ、明らかにシステムの速度が低下しました。
メモリを2G搭載しているせいか、逆効果だったようです。
EasyDisk Platinum2は、メーカー公表値で Read:22MB/s、Write:13MB/s ですので、ReadyBoostの必要とする Read:5MB/s、Write:3MB/s をはるかに上回っていますが、ダメなようです。
ひょっとしたら、EasyDiskはランダムアクセスに弱いのかもしれません。

※追記
ReadyBoostは、ページイン(ページファイル→メモリ)のみ高速化され、ページアウト(メモリ→ページファイル)は逆に速度が低下してしまうようです。
USBメモリ等は、取り外されてしまう可能性があるので、苦肉の策ですね。
これを解決するためには、ページファイルをUSBメモリ等に移すしかなさそうです。取り外したらシステム死にますけど。

釣りのロッドを買ってみた

2008-01-15 22:20:13 | 釣り
知り合いに、釣りに使うリールをもらいました。
CALDIA 2500と言うリールで、調べてみたら結構高くて(20K)びっくり。
まあ、釣り道具って、どれもそれなり高いので、他に比べたら安いのかも知れませんが・・・

せっかくなので、ロッド(竿)も買って来ました。
通勤の途中に、タックルベリーと言う中古の釣具店があるので、ここで、ルアー用のロッドを買いました。中古ではなく、一応、新品です。
ちなみに、4-12gのルアーの投げられる、2mくらいの竿で、2千円でした。
リールとの値段の差が激しい(笑

来週あたり、久しぶりにメバルかスズキを釣りに行ってみようかな。
まだスズキ釣ったことないけど