smart sizing:i:1
こいつは知らんかった。
個人的に、超便利なのでメモしておく。
XGAノートをQXGAで使えるかも?
smart sizing:i:1
こいつは知らんかった。
個人的に、超便利なのでメモしておく。
XGAノートをQXGAで使えるかも?
何が起きてるか分からんけど、どうやら、IISワーカープロセスが無応答になるらしい。
ワーカープロセス数を増やせば、ある程度抑制できるが、・・・
やはり、: Stream, IHttpModuleってのがマズイのかも。
と、思って、分離したんだけど、やはりダメ。
いや、発覚したからといってすぐに改修するわけではないが。
「/」へアクセスすると、何らかの既定ドキュメントを返すのはWWWサーバなら大抵持っている機能だけれど、IIS7.5ではどうやらモジュールがこの役割をしている・・・らしい。
#そんな名前のモジュールが見えるよね。
で、これ、リダイレクトをさせるのではなく、また、ハンドラのように、自分で何か取ってくるわけでもなく、モジュール内でリクエストを繰り返しているっぽいんですよ。
詳しく調査したわけじゃないから、違うかも知れないけど。
ってか、もう少し早く気付けよってことで。
モジュールで受け取れるリクエスト情報にはクライアントのIPアドレスとそのホスト名があるんだけど、これ通常どちらも同じ情報が含まれている、というか、名前解決のコスト削減ってことなんだけどね。
だから、IPアドレスからホスト名を引っ張ってくる処理を入れてたわけ。
これが遅かった原因。
ログ書きをスレッド化したんだけど、そのスレッドに渡す変数(クラス)オブジェクトを構築する際にDNS引いてたから遅かった。
ログ書きスレッド内でDNS参照を行うよう変更したら、嘘のように軽くなった。
マジで、嘘みたいに軽い。
実際、カウント数集計と、レコード書き込みはどっちが先に行われているかは分からないけれど、あまり気にすることはない。
これなら、twitterの内容埋め込みもできそうな感じ・・・
#twitter内容を定期的にローカルへ蓄えておく必要がありそうですが。
レスポンスのContent-Typeとステータスから条件判断してから、DBへのLog書きをThreadPoolに委託、フィルタチェイン構成となるよう、モジュールイベントを構成したんだけど、やはり遅い。
#少しは改善したような気がしなくもないけれど。
さらにDB処理を削っても遅いため、恐らくDB処理は無関係だと思われる。
ならば、残りのフィルタStream自体が問題と思われる。
思われ・・・る・・・
このブログにカウンタを付けてみようかと思っていた。
普通はカウンタって、たとえば、imgタグで動的に画像を返すとか、JavaScript使ったりすると思うんだけど、それは、再リクエストを期待しないと無効なわけだし、レスポンスを返す時点でカウンタ値は決まっているわけで、いろいろと無駄があると常々思っていた。
たとえ、レスポンス一発であっても、CGI使うとか、サーバサイドインクルードとか、静的コンテンツには不向きだったりする。
前記事のとおり、IISならフィルタでレスポンス書き換えできるので、これでやってみようと思ったわけ。
.NET Frameworkでは、IHttpModuleを実装すると、IISを通過するリクエストやレスポンスを操作できるモジュールを作成できます。
たとえば、リクエストに合わせてレスポンス内容を変化させるなんてことも・・・
そう、いつも通り簡単にできるだろうと思っていました。
HttpResponse.OutputStreamの中にはレスポンスコンテンツが蓄えられるはずです。
これを読み取って、書き換えてしまえばよい、そう思っていました・・・
XPなら2GBでOKで書いたとおり、XPなら2GBで何とかできる。
そのVHDを持ってWindows 7で動かしてみた。
ちゃんと、XPモードもどきで動く動く。
#処理速度に期待してはいけない。
スタートメニューへショートカットを追加すると、Windows7にもショートカットが追加される。
ショートカットを追加すると、コマンドプロンプトやIEが追加される。
しかし、エクスプローラーは追加されない。
エクスプローラーを使いたければ、コマンドプロンプトから、explorerを起動するしかなさそう。
でも、VHDサイズは2GB。
2GBの利点は、バックアップの容易さにある。
DVDにもそのまま焼けるサイズという点は非常に便利と言える。
80GB固定で確保したVHDに構築したTFSリポジトリ。
なぜか、SharePointへのアクセスだけができなくなった。
起動時にHDDのスキャンが必要と出たり、結構怪しい状態ではあったのだが。
仕方なく、1か月前のVHDを持ってこよう・・・とすると、80GBというサイズが邪魔。
この際、サイズを縮小しようと。
バックアップしようかと思ったんです。
VHDネイティブブートしたOS(Windows7)から自身のVHDをコピーしてみたわけです。
シャドウコピーを有効を有効にしてたからかは分からないけれど、コピーできるんです。
#その内容がどうなっているかは未確認。
昔2003R2のシャドウコピーでやったような、うろ覚えがあったので、出来るんじゃないかと思ったんですが、ロック無しでコピーできるのはちょっとした驚きがあります。